Changeset d948095 in mainline
- Timestamp:
- 2012-10-05T08:04:52Z (12 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- b60faf7
- Parents:
- be1dcc26 (diff), 32b3a12 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - Location:
- uspace
- Files:
-
- 2 added
- 4 edited
- 48 moved
Legend:
- Unmodified
- Added
- Removed
-
uspace/Makefile.common
rbe1dcc26 rd948095 227 227 228 228 ifeq ($(POSIX_COMPAT),y) 229 CFLAGS = -I$(LIBPOSIX_PREFIX) 229 CFLAGS = -I$(LIBPOSIX_PREFIX)/include/posix -I$(LIBPOSIX_PREFIX)/include/ 230 230 LIBS += $(LIBPOSIX_PREFIX)/libposix.a 231 231 endif -
uspace/app/msim/arch_helenos/input.c
rbe1dcc26 rd948095 32 32 /** @file HelenOS specific functions for MSIM simulator. 33 33 */ 34 35 /* Because of asprintf. */ 36 #define _GNU_SOURCE 34 37 #include "../../io/input.h" 35 38 #include "../../io/output.h" … … 38 41 #include <tinput.h> 39 42 #include <errno.h> 43 #include <stdlib.h> 40 44 41 45 static tinput_t *input_prompt; -
uspace/app/msim/arch_helenos/misc.c
rbe1dcc26 rd948095 44 44 #include <ctype.h> 45 45 #include <stdio.h> 46 #include <stdlib.h> 46 47 47 48 /* Define when the dprinter device shall try to filter -
uspace/lib/posix/Makefile
rbe1dcc26 rd948095 33 33 LSONAME = libposix.so0 34 34 35 INCLUDE_LIBC = ./libc 35 EXTRA_CFLAGS = -Iinclude/ 36 37 INCLUDE_LIBC = ./include/libc 36 38 37 39 PRE_DEPEND = $(INCLUDE_LIBC) … … 39 41 40 42 SOURCES = \ 41 ctype.c \42 errno.c \43 fcntl.c \44 fnmatch.c \45 getopt.c \46 locale.c \47 math.c \48 pwd.c \49 s ignal.c \50 s tdio.c \51 s tdio/scanf.c \52 s tdlib.c \53 s tdlib/strtol.c \54 s tdlib/strtold.c \55 s tring.c \56 s trings.c \57 s ys/stat.c \58 s ys/wait.c \59 time.c \60 unistd.c43 source/ctype.c \ 44 source/errno.c \ 45 source/fcntl.c \ 46 source/fnmatch.c \ 47 source/getopt.c \ 48 source/locale.c \ 49 source/math.c \ 50 source/pwd.c \ 51 source/signal.c \ 52 source/stdio.c \ 53 source/stdio/scanf.c \ 54 source/stdlib.c \ 55 source/stdlib/strtol.c \ 56 source/stdlib/strtold.c \ 57 source/string.c \ 58 source/strings.c \ 59 source/sys/stat.c \ 60 source/sys/wait.c \ 61 source/time.c \ 62 source/unistd.c 61 63 62 64 include $(USPACE_PREFIX)/Makefile.common 63 65 64 66 $(INCLUDE_LIBC): ../c/include 65 ln -s -f -n $^ $@67 ln -s -f -n ../$^ $@ -
uspace/lib/posix/include/posix/errno.h
rbe1dcc26 rd948095 66 66 #undef errno 67 67 #define errno (*__posix_errno()) 68 69 #include "unistd.h"70 68 71 69 extern int *__posix_errno(void); -
uspace/lib/posix/include/posix/fcntl.h
rbe1dcc26 rd948095 72 72 #define FD_CLOEXEC 1 /* Close on exec. */ 73 73 74 #undef open 75 #define open(path, ...) \ 76 ({ \ 77 int rc = open(path, ##__VA_ARGS__); \ 78 if (rc < 0) { \ 79 errno = -rc; \ 80 rc = -1; \ 81 } \ 82 rc; \ 83 }) 84 74 extern int posix_open(const char *pathname, int flags, ...); 85 75 extern int posix_fcntl(int fd, int cmd, ...); 86 76 87 77 #ifndef LIBPOSIX_INTERNAL 88 78 #define fcntl posix_fcntl 79 #define open posix_open 89 80 #endif 90 81 -
uspace/lib/posix/include/posix/signal.h
rbe1dcc26 rd948095 36 36 #define POSIX_SIGNAL_H_ 37 37 38 #include "libc/errno.h"39 38 #include "sys/types.h" 40 39 -
uspace/lib/posix/include/posix/stddef.h
rbe1dcc26 rd948095 36 36 #define POSIX_STDDEF_H_ 37 37 38 #include " libc/stddef.h"38 #include "sys/types.h" 39 39 40 40 #ifndef NULL -
uspace/lib/posix/include/posix/stdio.h
rbe1dcc26 rd948095 39 39 #include "stddef.h" 40 40 #include "unistd.h" 41 #include "libc/ stdio.h"41 #include "libc/io/verify.h" 42 42 #include "sys/types.h" 43 #include " libc/stdarg.h"43 #include "stdarg.h" 44 44 #include "limits.h" 45 46 /* 47 * These are the same as in HelenOS libc. 48 * It would be possible to directly include <stdio.h> but 49 * it is better not to pollute POSIX namespace with other functions 50 * defined in that header. 51 * 52 * Because libposix is always linked with libc, providing only these 53 * forward declarations ought to be enough. 54 */ 55 #define EOF (-1) 56 57 #define BUFSIZ 4096 58 #define SEEK_SET 0 59 #define SEEK_CUR 1 60 #define SEEK_END 2 61 62 typedef struct _IO_FILE FILE; 63 64 extern FILE *stdin; 65 extern FILE *stdout; 66 extern FILE *stderr; 67 68 extern int fgetc(FILE *); 69 extern char *fgets(char *, int, FILE *); 70 71 extern int getchar(void); 72 extern char *gets(char *, size_t); 73 74 extern int fputc(wchar_t, FILE *); 75 extern int fputs(const char *, FILE *); 76 77 extern int putchar(wchar_t); 78 extern int puts(const char *); 79 80 extern int fprintf(FILE *, const char*, ...) PRINTF_ATTRIBUTE(2, 3); 81 extern int vfprintf(FILE *, const char *, va_list); 82 83 extern int printf(const char *, ...) PRINTF_ATTRIBUTE(1, 2); 84 extern int vprintf(const char *, va_list); 85 86 extern int snprintf(char *, size_t , const char *, ...) PRINTF_ATTRIBUTE(3, 4); 87 #ifdef _GNU_SOURCE 88 extern int asprintf(char **, const char *, ...) PRINTF_ATTRIBUTE(2, 3); 89 #endif 90 extern int vsnprintf(char *, size_t, const char *, va_list); 91 92 extern FILE *fopen(const char *, const char *); 93 extern FILE *fdopen(int, const char *); 94 extern int fclose(FILE *); 95 96 extern size_t fread(void *, size_t, size_t, FILE *); 97 extern size_t fwrite(const void *, size_t, size_t, FILE *); 98 99 extern int fseek(FILE *, off64_t, int); 100 extern void rewind(FILE *); 101 extern off64_t ftell(FILE *); 102 extern int feof(FILE *); 103 extern int fileno(FILE *); 104 105 extern int fflush(FILE *); 106 extern int ferror(FILE *); 107 extern void clearerr(FILE *); 108 109 extern void setvbuf(FILE *, void *, int, size_t); 110 111 112 /* POSIX specific stuff. */ 45 113 46 114 /* Identifying the Terminal */ -
uspace/lib/posix/include/posix/stdlib.h
rbe1dcc26 rd948095 37 37 #define POSIX_STDLIB_H_ 38 38 39 #include " libc/stdlib.h"39 #include "sys/types.h" 40 40 41 41 #ifndef NULL … … 50 50 #define _Exit exit 51 51 extern int posix_atexit(void (*func)(void)); 52 extern void exit(int status); 53 extern void abort(void) __attribute__((noreturn)); 52 54 53 55 /* Absolute Value */ -
uspace/lib/posix/include/posix/string.h
rbe1dcc26 rd948095 37 37 #define POSIX_STRING_H_ 38 38 39 #include <mem.h> 40 #include <str.h> 39 #include "sys/types.h" 41 40 42 /* available in str.h 43 * 44 * char *strtok(char *restrict, const char *restrict); 45 * char *strtok_r(char *restrict, const char *restrict, char **restrict); 46 * 47 * available in mem.h 48 * 49 * void *memset(void *, int, size_t); 50 * void *memcpy(void *, const void *, size_t); 51 * void *memmove(void *, const void *, size_t); 52 * 41 /* 53 42 * TODO: not implemented due to missing locale support 54 43 * … … 61 50 #define NULL ((void *) 0) 62 51 #endif 52 53 /* 54 * These are the same as in HelenOS libc. 55 * It would be possible to directly include <str.h> and <mem.h> but 56 * it is better not to pollute POSIX namespace with other functions 57 * defined in that header. 58 * 59 * Because libposix is always linked with libc, providing only these 60 * forward declarations ought to be enough. 61 */ 62 /* From str.h. */ 63 extern char * strtok_r(char *, const char *, char **); 64 extern char * strtok(char *, const char *); 65 66 /* From mem.h */ 67 #define bzero(ptr, len) memset((ptr), 0, (len)) 68 extern void *memset(void *, int, size_t); 69 extern void *memcpy(void *, const void *, size_t); 70 extern void *memmove(void *, const void *, size_t); 71 63 72 64 73 /* Copying and Concatenation */ -
uspace/lib/posix/include/posix/sys/mman.h
rbe1dcc26 rd948095 36 36 #define POSIX_SYS_MMAN_H_ 37 37 38 #include "../libc/sys/mman.h" 38 #include "sys/types.h" 39 #include <abi/mm/as.h> 40 41 #define MAP_FAILED ((void *) -1) 42 43 #define MAP_SHARED (1 << 0) 44 #define MAP_PRIVATE (1 << 1) 45 #define MAP_FIXED (1 << 2) 46 #define MAP_ANONYMOUS (1 << 3) 39 47 40 48 #undef PROT_NONE … … 43 51 #undef PROT_EXEC 44 52 #define PROT_NONE 0 45 #define PROT_READ PROTO_READ 46 #define PROT_WRITE PROTO_WRITE 47 #define PROT_EXEC PROTO_EXEC 53 #define PROT_READ AS_AREA_READ 54 #define PROT_WRITE AS_AREA_WRITE 55 #define PROT_EXEC AS_AREA_EXEC 56 57 extern void *mmap(void *start, size_t length, int prot, int flags, int fd, 58 posix_off_t offset); 59 extern int munmap(void *start, size_t length); 48 60 49 61 #endif /* POSIX_SYS_MMAN_H_ */ -
uspace/lib/posix/include/posix/sys/stat.h
rbe1dcc26 rd948095 37 37 #define POSIX_SYS_STAT_H_ 38 38 39 #include "../libc/sys/stat.h"40 39 #include "types.h" 41 40 #include "../time.h" … … 130 129 extern int posix_chmod(const char *path, mode_t mode); 131 130 extern mode_t posix_umask(mode_t mask); 131 extern int mkdir(const char *, mode_t); 132 132 133 133 #ifndef LIBPOSIX_INTERNAL -
uspace/lib/posix/include/posix/sys/types.h
rbe1dcc26 rd948095 37 37 #define POSIX_SYS_TYPES_H_ 38 38 39 #include "../libc/sys/types.h" 39 #include "libc/sys/types.h" 40 #include "libc/sys/time.h" 40 41 41 42 typedef unsigned int posix_ino_t; -
uspace/lib/posix/include/posix/time.h
rbe1dcc26 rd948095 37 37 #define POSIX_TIME_H_ 38 38 39 #include "libc/time.h"40 39 #include "sys/types.h" 41 40 -
uspace/lib/posix/include/posix/unistd.h
rbe1dcc26 rd948095 37 37 #define POSIX_UNISTD_H_ 38 38 39 #include "libc/unistd.h"40 39 #include "sys/types.h" 40 #include "stddef.h" 41 41 42 42 /* Process Termination */ -
uspace/lib/posix/source/ctype.c
rbe1dcc26 rd948095 36 36 #define LIBPOSIX_INTERNAL 37 37 38 #include " ctype.h"38 #include "posix/ctype.h" 39 39 40 40 /** -
uspace/lib/posix/source/errno.c
rbe1dcc26 rd948095 33 33 */ 34 34 35 #include " errno.h"35 #include "posix/errno.h" 36 36 37 #include " stdlib.h"37 #include "posix/stdlib.h" 38 38 #include "libc/fibril.h" 39 39 -
uspace/lib/posix/source/fcntl.c
rbe1dcc26 rd948095 36 36 37 37 #include "internal/common.h" 38 #include " fcntl.h"38 #include "posix/fcntl.h" 39 39 40 40 #include "libc/unistd.h" 41 41 #include "libc/vfs/vfs.h" 42 #include " errno.h"42 #include "posix/errno.h" 43 43 44 44 /** … … 95 95 } 96 96 97 /** 98 * Open, possibly create, a file. 99 * 100 * @param pathname Path to the file. 101 * @param flags Access mode flags. 102 */ 103 int posix_open(const char *pathname, int flags, ...) 104 { 105 mode_t mode = 0; 106 if ((flags & O_CREAT) > 0) { 107 va_list args; 108 va_start(args, flags); 109 mode = va_arg(args, mode_t); 110 va_end(args); 111 } 112 113 int rc = open(pathname, flags, mode); 114 if (rc < 0) { 115 errno = -rc; 116 rc = -1; 117 } 118 119 return rc; 120 } 121 97 122 /** @} 98 123 */ -
uspace/lib/posix/source/fnmatch.c
rbe1dcc26 rd948095 42 42 */ 43 43 44 #include "stdbool.h"45 #include "ctype.h"46 #include "string.h"47 #include "stdlib.h"48 #include "assert.h"49 50 44 #define LIBPOSIX_INTERNAL 51 45 46 #include "posix/stdbool.h" 47 #include "posix/ctype.h" 48 #include "posix/string.h" 49 #include "posix/stdlib.h" 50 #include "posix/assert.h" 51 52 52 #include "internal/common.h" 53 #include " fnmatch.h"53 #include "posix/fnmatch.h" 54 54 55 55 /* Returned by _match... functions. */ … … 182 182 { "alnum", isalnum }, 183 183 { "alpha", isalpha }, 184 { "blank", isblank },185 { "cntrl", iscntrl },184 { "blank", posix_isblank }, 185 { "cntrl", posix_iscntrl }, 186 186 { "digit", isdigit }, 187 { "graph", isgraph },187 { "graph", posix_isgraph }, 188 188 { "lower", islower }, 189 { "print", isprint },190 { "punct", ispunct },189 { "print", posix_isprint }, 190 { "punct", posix_ispunct }, 191 191 { "space", isspace }, 192 192 { "upper", isupper }, 193 { "xdigit", isxdigit }193 { "xdigit", posix_isxdigit } 194 194 }; 195 195 … … 204 204 { 205 205 const struct _char_class *class = elem; 206 return strcmp((const char *) key, class->name);206 return posix_strcmp((const char *) key, class->name); 207 207 } 208 208 … … 217 217 { 218 218 /* Search for class in the array of supported character classes. */ 219 const struct _char_class *class = bsearch(cname, _char_classes,219 const struct _char_class *class = posix_bsearch(cname, _char_classes, 220 220 sizeof(_char_classes) / sizeof(struct _char_class), 221 221 sizeof(struct _char_class), _class_compare); … … 549 549 end = string; 550 550 } else { 551 end = strchrnul(string, pathname ? '/' : '\0');551 end = gnu_strchrnul(string, pathname ? '/' : '\0'); 552 552 } 553 553 … … 581 581 { 582 582 assert(s != NULL); 583 char *result = strdup(s);583 char *result = posix_strdup(s); 584 584 for (char *i = result; *i != '\0'; ++i) { 585 585 *i = tolower(*i); -
uspace/lib/posix/source/getopt.c
rbe1dcc26 rd948095 36 36 #include "internal/common.h" 37 37 #include "libc/getopt.h" 38 #include " getopt.h"38 #include "posix/getopt.h" 39 39 40 40 -
uspace/lib/posix/source/locale.c
rbe1dcc26 rd948095 36 36 37 37 #include "internal/common.h" 38 #include " locale.h"38 #include "posix/locale.h" 39 39 40 #include " errno.h"41 #include " limits.h"42 #include " string.h"40 #include "posix/errno.h" 41 #include "posix/limits.h" 42 #include "posix/string.h" 43 43 44 44 /* Just a very basic dummy implementation. -
uspace/lib/posix/source/math.c
rbe1dcc26 rd948095 36 36 37 37 #include "internal/common.h" 38 #include " math.h"38 #include "posix/math.h" 39 39 40 40 /** -
uspace/lib/posix/source/pwd.c
rbe1dcc26 rd948095 35 35 #define LIBPOSIX_INTERNAL 36 36 37 #include "pwd.h" 38 #include "string.h" 39 #include "errno.h" 40 #include "assert.h" 37 #include "posix/stdbool.h" 38 #include "posix/pwd.h" 39 #include "posix/string.h" 40 #include "posix/errno.h" 41 #include "posix/assert.h" 41 42 42 43 static bool entry_read = false; -
uspace/lib/posix/source/signal.c
rbe1dcc26 rd948095 35 35 #define LIBPOSIX_INTERNAL 36 36 37 #include " signal.h"37 #include "posix/signal.h" 38 38 #include "internal/common.h" 39 #include " limits.h"40 #include " stdlib.h"41 #include " string.h"42 #include " errno.h"39 #include "posix/limits.h" 40 #include "posix/stdlib.h" 41 #include "posix/string.h" 42 #include "posix/errno.h" 43 43 44 44 #include "libc/fibril_synch.h" -
uspace/lib/posix/source/stdio.c
rbe1dcc26 rd948095 37 37 38 38 /* Has to be first. */ 39 #include " stdbool.h"39 #include "posix/stdbool.h" 40 40 41 41 #include "internal/common.h" 42 #include "stdio.h" 43 44 #include "assert.h" 45 #include "errno.h" 46 #include "stdlib.h" 47 #include "string.h" 48 #include "sys/types.h" 49 #include "unistd.h" 50 42 #include "posix/stdio.h" 43 44 #include "posix/assert.h" 45 #include "posix/errno.h" 46 #include "posix/stdlib.h" 47 #include "posix/string.h" 48 #include "posix/sys/types.h" 49 #include "posix/unistd.h" 50 51 #include "libc/stdio.h" 51 52 #include "libc/io/printf_core.h" 52 53 #include "libc/str.h" … … 59 60 * need to be implemented in libc anyway 60 61 */ 61 #include "../ c/generic/private/stdio.h"62 #include "../../c/generic/private/stdio.h" 62 63 63 64 /** Clears the stream's error and end-of-file indicators. -
uspace/lib/posix/source/stdio/scanf.c
rbe1dcc26 rd948095 36 36 37 37 /* Must be first. */ 38 #include " ../stdbool.h"39 40 #include " ../assert.h"41 #include " ../errno.h"42 43 #include " ../stdio.h"44 #include " ../stdlib.h"45 #include " ../stddef.h"46 #include " ../string.h"47 #include " ../ctype.h"48 #include " ../sys/types.h"38 #include "posix/stdbool.h" 39 40 #include "posix/assert.h" 41 #include "posix/errno.h" 42 43 #include "posix/stdio.h" 44 #include "posix/stdlib.h" 45 #include "posix/stddef.h" 46 #include "posix/string.h" 47 #include "posix/ctype.h" 48 #include "posix/sys/types.h" 49 49 50 50 #include "../internal/common.h" 51 #include " ../libc/malloc.h"51 #include "libc/malloc.h" 52 52 53 53 /** Unified data type for possible data sources for scanf. */ -
uspace/lib/posix/source/stdlib.c
rbe1dcc26 rd948095 37 37 38 38 #include "internal/common.h" 39 #include " stdlib.h"40 41 #include " errno.h"42 #include " fcntl.h"43 #include " limits.h"44 #include " string.h"45 #include " sys/stat.h"46 #include " unistd.h"39 #include "posix/stdlib.h" 40 41 #include "posix/errno.h" 42 #include "posix/fcntl.h" 43 #include "posix/limits.h" 44 #include "posix/string.h" 45 #include "posix/sys/stat.h" 46 #include "posix/unistd.h" 47 47 48 48 #include "libc/sort.h" -
uspace/lib/posix/source/stdlib/strtol.c
rbe1dcc26 rd948095 36 36 37 37 #include "../internal/common.h" 38 #include " ../stdlib.h"39 40 #include " ../ctype.h"41 #include " ../errno.h"42 #include " ../inttypes.h"43 #include " ../limits.h"38 #include "posix/stdlib.h" 39 40 #include "posix/ctype.h" 41 #include "posix/errno.h" 42 #include "posix/inttypes.h" 43 #include "posix/limits.h" 44 44 45 45 #define intmax_t posix_intmax_t -
uspace/lib/posix/source/stdlib/strtold.c
rbe1dcc26 rd948095 36 36 37 37 /* Must be first. */ 38 #include " ../stdbool.h"38 #include "posix/stdbool.h" 39 39 40 40 #include "../internal/common.h" 41 #include " ../stdlib.h"42 43 #include " ../assert.h"44 #include " ../ctype.h"45 #include " ../stdint.h"46 #include " ../strings.h"47 #include " ../errno.h"48 #include " ../limits.h"49 50 #include " ../float.h"41 #include "posix/stdlib.h" 42 43 #include "posix/assert.h" 44 #include "posix/ctype.h" 45 #include "posix/stdint.h" 46 #include "posix/strings.h" 47 #include "posix/errno.h" 48 #include "posix/limits.h" 49 50 #include "posix/float.h" 51 51 52 52 #ifndef HUGE_VALL -
uspace/lib/posix/source/string.c
rbe1dcc26 rd948095 37 37 38 38 #include "internal/common.h" 39 #include " string.h"40 41 #include " assert.h"42 #include " errno.h"43 #include " limits.h"44 #include " stdlib.h"45 #include " signal.h"39 #include "posix/string.h" 40 41 #include "posix/assert.h" 42 #include "posix/errno.h" 43 #include "posix/limits.h" 44 #include "posix/stdlib.h" 45 #include "posix/signal.h" 46 46 47 47 #include "libc/str_error.h" -
uspace/lib/posix/source/strings.c
rbe1dcc26 rd948095 37 37 38 38 #include "internal/common.h" 39 #include " strings.h"39 #include "posix/strings.h" 40 40 41 #include " string.h"42 #include " ctype.h"41 #include "posix/string.h" 42 #include "posix/ctype.h" 43 43 44 44 #include "libc/mem.h" -
uspace/lib/posix/source/sys/stat.c
rbe1dcc26 rd948095 37 37 38 38 #include "../internal/common.h" 39 #include "stat.h" 39 #include "posix/sys/stat.h" 40 #include "libc/sys/stat.h" 40 41 41 #include " ../errno.h"42 #include " ../libc/mem.h"42 #include "posix/errno.h" 43 #include "libc/mem.h" 43 44 44 45 /** -
uspace/lib/posix/source/sys/wait.c
rbe1dcc26 rd948095 37 37 38 38 #include "../internal/common.h" 39 #include " wait.h"39 #include "posix/sys/wait.h" 40 40 41 #include " ../libc/task.h"42 #include " ../assert.h"43 #include " ../errno.h"44 #include " ../limits.h"45 #include " ../signal.h"41 #include "libc/task.h" 42 #include "posix/assert.h" 43 #include "posix/errno.h" 44 #include "posix/limits.h" 45 #include "posix/signal.h" 46 46 47 47 int __posix_wifexited(int status) { -
uspace/lib/posix/source/time.c
rbe1dcc26 rd948095 37 37 38 38 /* Must be first. */ 39 #include " stdbool.h"39 #include "posix/stdbool.h" 40 40 41 41 #include "internal/common.h" 42 #include " time.h"43 44 #include " ctype.h"45 #include " errno.h"46 #include " signal.h"47 #include " assert.h"42 #include "posix/time.h" 43 44 #include "posix/ctype.h" 45 #include "posix/errno.h" 46 #include "posix/signal.h" 47 #include "posix/assert.h" 48 48 49 49 #include "libc/malloc.h" -
uspace/lib/posix/source/unistd.c
rbe1dcc26 rd948095 37 37 38 38 #include "internal/common.h" 39 #include " unistd.h"40 41 #include " errno.h"42 #include " string.h"43 #include " fcntl.h"39 #include "posix/unistd.h" 40 41 #include "posix/errno.h" 42 #include "posix/string.h" 43 #include "posix/fcntl.h" 44 44 45 45 #include "libc/task.h"
Note:
See TracChangeset
for help on using the changeset viewer.