source: trunk/src/emx/include/sys/process.h@ 123

Last change on this file since 123 was 123, checked in by zap, 23 years ago

Started the work for re-designing the EMX C runtime library to not require
EMX.DLL. The new design is projected to be as follows:

  • all emx syscalls are replaced with the routines from the old sys.lib library which is now compilable in both a.out and OMF formats.
  • the sys.a library should be made replaceable and selectable by some gcc switch (e.g. -msyslib=emx would link with emx.a instead of sys.a which would give almost full backward compatibility with emx).
  • All C functions names were renamed to not contain the starting underscore (e.g. fopen and not _fopen). The underscored aliases will be added later with the c_alias library (which will be generated automatically from all public symbols of libc; any exported symbol that do not start with an underscore will be given an underscored alias unless such a symbol is already defined).

Also a lot of updates to the building system. It is now much faster (thanks
to Knut's suggestion of using ash's builtin echo).
Also re-wrote thunk1.asm and thunk2.asm to GAS format; this removes the need
for MASM and makes it possible to use 16-bit functions in a.out programs
without the need for EMX.DLL.
Also made a lot of small changes I don't remember now.

  • Property cvs2svn:cvs-rev set to 1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 3.1 KB
Line 
1/* sys/process.h (emx+gcc) */
2
3#ifndef _SYS_PROCESS_H
4#define _SYS_PROCESS_H
5
6#if defined (__cplusplus)
7extern "C" {
8#endif
9
10#if !defined (P_WAIT)
11#define P_WAIT 0
12#define P_NOWAIT 1
13#define P_OVERLAY 2
14#define P_DEBUG 3
15#define P_SESSION 4
16#define P_DETACH 5
17#define P_PM 6
18
19#define P_DEFAULT 0x0000
20#define P_MINIMIZE 0x0100
21#define P_MAXIMIZE 0x0200
22#define P_FULLSCREEN 0x0300
23#define P_WINDOWED 0x0400
24
25#define P_FOREGROUND 0x0000
26#define P_BACKGROUND 0x1000
27
28#define P_NOCLOSE 0x2000
29#define P_NOSESSION 0x4000
30
31/* Note: 0x8000 is used internally. */
32
33#define P_QUOTE 0x10000
34#define P_TILDE 0x20000
35#define P_UNRELATED 0x40000
36#define P_DEBUGDESC 0x80000
37
38#endif
39
40void abort (void) __attribute__ ((__noreturn__));
41int atexit (void (*)(void));
42int execl (__const__ char *, __const__ char *, ...);
43int execle (__const__ char *, __const__ char *, ...);
44int execlp (__const__ char *, __const__ char *, ...);
45int execlpe (__const__ char *, __const__ char *, ...);
46int execv (__const__ char *, char * __const__ *);
47int execve (__const__ char *, char * __const__ *, char * __const__ *);
48int execvp (__const__ char *, char * __const__ *);
49int execvpe (__const__ char *, char * __const__ *, char * __const__ *);
50void exit (int) __attribute__ ((__noreturn__));
51void _exit (int) __attribute__ ((__noreturn__));
52int fork (void);
53int getpid (void);
54int getppid (void);
55int spawnl (int, __const__ char *, __const__ char *, ...);
56int spawnle (int, __const__ char *, __const__ char *, ...);
57int spawnlp (int, __const__ char *, __const__ char *, ...);
58int spawnlpe (int, __const__ char *, __const__ char *, ...);
59int spawnv (int, __const__ char *, char * __const__ *);
60int spawnve (int, __const__ char *, char * __const__ *, char * __const__ *);
61int spawnvp (int, __const__ char *, char * __const__ *);
62int spawnvpe (int, __const__ char *, char * __const__ *, char * __const__ *);
63int system (__const__ char *);
64int wait (int *);
65int waitpid (int, int *, int);
66
67int _execl (__const__ char *, __const__ char *, ...);
68int _execle (__const__ char *, __const__ char *, ...);
69int _execlp (__const__ char *, __const__ char *, ...);
70int _execlpe (__const__ char *, __const__ char *, ...);
71int _execv (__const__ char *, char * __const__ *);
72int _execve (__const__ char *, char * __const__ *, char * __const__ *);
73int _execvp (__const__ char *, char * __const__ *);
74int _execvpe (__const__ char *, char * __const__ *, char * __const__ *);
75int _fork (void);
76int _getpid (void);
77int _getppid (void);
78int _spawnl (int, __const__ char *, __const__ char *, ...);
79int _spawnle (int, __const__ char *, __const__ char *, ...);
80int _spawnlp (int, __const__ char *, __const__ char *, ...);
81int _spawnlpe (int, __const__ char *, __const__ char *, ...);
82int _spawnv (int, __const__ char *, char * __const__ *);
83int _spawnve (int, __const__ char *, char * __const__ *, char * __const__ *);
84int _spawnvp (int, __const__ char *, char * __const__ *);
85int _spawnvpe (int, __const__ char *, char * __const__ *, char * __const__ *);
86int _wait (int *);
87int _waitpid (int, int *, int);
88
89
90#if defined (__cplusplus)
91}
92#endif
93
94#endif /* not _SYS_PROCESS_H */
Note: See TracBrowser for help on using the repository browser.