EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
osiProcess.h
1 /*************************************************************************\
2 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * SPDX-License-Identifier: EPICS
7 * EPICS BASE is distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
10 
11 #ifndef INC_osiProcess_H
12 #define INC_osiProcess_H
13 
14 /*
15  * Operating System Independent Interface to Process Environment
16  *
17  * Author: Jeff Hill
18  *
19  */
20 #include "libComAPI.h"
21 
22 #ifdef __cplusplus
23 extern "C" {
24 #endif
25 
26 typedef enum osiGetUserNameReturn {
27  osiGetUserNameFail,
28  osiGetUserNameSuccess} osiGetUserNameReturn;
29 LIBCOM_API osiGetUserNameReturn epicsStdCall osiGetUserName (char *pBuf, unsigned bufSize);
30 
31 /*
32  * Spawn detached process with named executable, but return
33  * osiSpawnDetachedProcessNoSupport if the local OS does not
34  * support heavy weight processes.
35  */
36 typedef enum osiSpawnDetachedProcessReturn {
37  osiSpawnDetachedProcessFail,
38  osiSpawnDetachedProcessSuccess,
39  osiSpawnDetachedProcessNoSupport} osiSpawnDetachedProcessReturn;
40 
41 LIBCOM_API osiSpawnDetachedProcessReturn epicsStdCall osiSpawnDetachedProcess
42  (const char *pProcessName, const char *pBaseExecutableName);
43 
44 #ifdef __cplusplus
45 }
46 #endif
47 
48 #endif /* INC_osiProcess_H */