Import Upstream version 1.8.5
[hcoop/debian/openafs.git] / src / procmgmt / pmgtprivate.h
1 /*
2 * Copyright 2000, International Business Machines Corporation and others.
3 * All Rights Reserved.
4 *
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
8 */
9
10 #ifndef OPENAFS_PMGTPRIVATE_H
11 #define OPENAFS_PMGTPRIVATE_H
12
13 /* Private process management definitions and declarations that we don't
14 * want to export in the public procmgmt.h.
15 */
16
17 #ifdef AFS_NT40_ENV
18 /* Private process management definitions and declarations for Windows NT */
19
20 /* Macros to encode/test/decode process exit status to indicate a signal */
21 #define PMGT_SIGSTATUS_ENCODE(signo) \
22 (0x0AF50000 | (UINT)(((signo) & 0xFF) << 8))
23
24 #define PMGT_IS_SIGSTATUS(status) \
25 ((((status) & 0xFF) == 0) && (((status) & 0xFFFF0000) == 0x0AF50000))
26
27 #define PMGT_SIGSTATUS_DECODE(status) \
28 ((int)(((status) >> 8) & 0xFF))
29
30
31 extern int pmgt_SignalRaiseLocalByName(const char *signo, int *libSigno);
32 extern int pmgt_RedirectNativeSignals(void);
33 extern int pmgt_RestoreNativeSignals(void);
34
35 #else
36 /* Private process management definitions and declarations for Unix */
37
38 #endif /* AFS_NT40_ENV */
39
40 #endif /* OPENAFS_PMGTPRIVATE_H */