12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- /*
- * category: [misc]
- * apply status:
- * edit status:
- * build status:
- * description:
- */
- #ifndef __OSUTIL_H__
- #define __OSUTIL_H__
- #pragma once
- #include "config.h"
- #ifdef __cplusplus
- extern "C" {
- #endif
- #define MAX_ALIVE_PROCESS_COUNT 100
- #define ALIVE_PROCESS_PATH_LEN 512
- typedef struct t_process_info
- {
- int pid;
- char name[64];
- char path[ALIVE_PROCESS_PATH_LEN]; //or cmd
- } alive_process_info;
- typedef struct toolkit_utsname_s
- {
- char sysname[256];
- char release[256];
- char version[256];
- char machine[256];
- /* This struct does not contain the nodename and domainname fields present in
- the utsname type. domainname is a GNU extension. Both fields are referred
- to as meaningless in the docs. */
- }tk_utsname_t;
- // non-zero: unique
- // zero: has clone
- TOOLKIT_API int osutil_detect_unique_app(char **pNames, int nNum, int* alive, alive_process_info* alive_process_arr);
- TOOLKIT_API int osutil_restart_system();
- TOOLKIT_API int osutil_shutdown_system();
- //force: which is only available at UOS, non-zero meaning kill -9 otherwise -15
- TOOLKIT_API void osutil_terminate_related_process(char** process_array, const int array_size, int force);
- TOOLKIT_API int osutil_uname(tk_utsname_t* buffer);
- #ifdef __cplusplus
- } // extern "C" {
- #endif
- #endif //__OSUTIL_H__
|