xref: /minix3/minix/include/lib.h (revision 7c48de6cc4c6d56f2277d378dba01dbac8a8c3b9)
1 /* The <lib.h> header is the master header used by the library.
2  * All the C files in the lib subdirectories include it.
3  */
4 
5 #ifndef _LIB_H
6 #define _LIB_H
7 
8 /* First come the defines. */
9 #include <sys/featuretest.h>	/* tell headers to include NetBSD stuff. */
10 
11 /* The following are so basic, all the lib files get them automatically. */
12 #include <minix/config.h>	/* must be first */
13 #include <sys/types.h>
14 #include <limits.h>
15 #include <errno.h>
16 
17 #include <minix/const.h>
18 #include <minix/com.h>
19 #include <minix/type.h>
20 #include <minix/callnr.h>
21 #include <minix/endpoint.h>
22 #include <minix/ipc.h>
23 
24 struct minix_kerninfo *get_minix_kerninfo(void);
25 
26 vir_bytes minix_get_user_sp(void);
27 
28 struct ps_strings; /* forward declaration for minix_stack_fill. */
29 
30 void minix_stack_params(const char *path, char * const *argv,
31 	char * const *envp, size_t *stack_size, char *overflow, int *argc,
32 	int *envc);
33 void minix_stack_fill(const char *path, int argc, char * const *argv,
34 	int envc, char * const *envp, size_t stack_size, char *frame,
35 	int *vsp, struct ps_strings **psp);
36 
37 int __execve(const char *_path, char *const _argv[], char *const
38 	_envp[], int _nargs, int _nenvps);
39 int _syscall(endpoint_t _who, int _syscallnr, message *_msgptr);
40 void _loadname(const char *_name, message *_msgptr);
41 int _len(const char *_s);
42 void _begsig(int _dummy);
43 
44 #endif /* _LIB_H */
45