2 Copyright © 2012-2016, The AROS Development Team. All rights reserved.
5 This file defines the private part of PosixCBase.
6 This should only be used internally in posixc.library code so
7 changes can be made to this structure without breaking backwards
10 #ifndef __POSIXC_INTBASE_H
11 #define __POSIXC_INTBASE_H
13 #include <libraries/posixc.h>
14 #include <exec/lists.h>
21 /* Some private structs */
29 struct PosixCBase PosixCBase
;
36 struct random_state
*rs
;
38 /* __posixc_environ.c; don't use this field outside that file */
42 struct __env_item
*env_list
;
50 BPTR exec_oldin
, exec_oldout
, exec_olderr
;
51 struct StdCBase
*exec_oldstdcbase
;
55 struct _fdesc
**fd_array
;
58 char *upathbuf
; /* Buffer that holds intermediate converted paths */
59 int doupath
; /* BOOL - does the conversion need to be done? */
60 int parent_does_upath
; /* BOOL - parent does upath conversion */
63 struct vfork_data
*vfork_data
;
65 /* chdir.c/fchdir.c */
70 struct MinList _file_locks
, *file_locks
;
76 struct MinList stdio_files
;
79 /* flags; values of flags are power of two so they can be ORed together */
81 /* When a program is started with the exec functions and from vfork,
82 this is indicated in the flags of the library.
83 This way the child can use the parent posixc.library during its
84 initialization phase */
85 #define EXEC_PARENT 0x00000001
86 #define VFORK_PARENT 0x00000002
88 /* This flag is set by vfork() to correctly report child process ID during
89 execution of child code, even though that it's actually executed by parent
90 process until execve() is called. */
91 #define PRETEND_CHILD 0x00000004
93 #endif //__POSIXC_INTBASE_H