| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  * Copyright (c) 2013 The Native Client Authors. All rights reserved. | 2  * Copyright (c) 2013 The Native Client Authors. All rights reserved. | 
| 3  * Use of this source code is governed by a BSD-style license that can be | 3  * Use of this source code is governed by a BSD-style license that can be | 
| 4  * found in the LICENSE file. | 4  * found in the LICENSE file. | 
| 5  */ | 5  */ | 
| 6 #ifndef NATIVE_CLIENT_SRC_UNTRUSTED_IRT_IRT_DEV_H_ | 6 #ifndef NATIVE_CLIENT_SRC_UNTRUSTED_IRT_IRT_DEV_H_ | 
| 7 #define NATIVE_CLIENT_SRC_UNTRUSTED_IRT_IRT_DEV_H_ | 7 #define NATIVE_CLIENT_SRC_UNTRUSTED_IRT_IRT_DEV_H_ | 
| 8 | 8 | 
| 9 #include <stdarg.h> | 9 #include <stdarg.h> | 
| 10 #include <stddef.h> | 10 #include <stddef.h> | 
| 11 #include <sys/types.h> | 11 #include <sys/types.h> | 
| 12 | 12 | 
| 13 struct dirent; | 13 struct dirent; | 
| 14 struct stat; | 14 struct stat; | 
| 15 struct timeval; | 15 struct timeval; | 
| 16 | 16 | 
| 17 struct NaClMemMappingInfo; | 17 struct NaClMemMappingInfo; | 
| 18 | 18 | 
|  | 19 #include <spawn.h> | 
|  | 20 | 
| 19 #if defined(__cplusplus) | 21 #if defined(__cplusplus) | 
| 20 extern "C" { | 22 extern "C" { | 
| 21 #endif | 23 #endif | 
| 22 | 24 | 
| 23 #define NACL_IRT_DEV_FDIO_v0_2  "nacl-irt-dev-fdio-0.2" | 25 #define NACL_IRT_DEV_FDIO_v0_2  "nacl-irt-dev-fdio-0.2" | 
|  | 26 struct nacl_irt_dev_fdio_v0_2 { | 
|  | 27   int (*close)(int fd); | 
|  | 28   int (*dup)(int fd, int *newfd); | 
|  | 29   int (*dup2)(int fd, int newfd); | 
|  | 30   int (*read)(int fd, void *buf, size_t count, size_t *nread); | 
|  | 31   int (*write)(int fd, const void *buf, size_t count, size_t *nwrote); | 
|  | 32   int (*seek)(int fd, off_t offset, int whence, off_t *new_offset); | 
|  | 33   int (*fstat)(int fd, struct stat *); | 
|  | 34   int (*getdents)(int fd, struct dirent *, size_t count, size_t *nread); | 
|  | 35   int (*fchdir)(int fd); | 
|  | 36   int (*fchmod)(int fd, mode_t mode); | 
|  | 37   int (*fsync)(int fd); | 
|  | 38   int (*fdatasync)(int fd); | 
|  | 39   int (*ftruncate)(int fd, off_t length); | 
|  | 40 }; | 
|  | 41 | 
|  | 42 #define NACL_IRT_DEV_FDIO_v0_3  "nacl-irt-dev-fdio-0.3" | 
| 24 struct nacl_irt_dev_fdio { | 43 struct nacl_irt_dev_fdio { | 
| 25   int (*close)(int fd); | 44   int (*close)(int fd); | 
| 26   int (*dup)(int fd, int *newfd); | 45   int (*dup)(int fd, int *newfd); | 
| 27   int (*dup2)(int fd, int newfd); | 46   int (*dup2)(int fd, int newfd); | 
| 28   int (*read)(int fd, void *buf, size_t count, size_t *nread); | 47   int (*read)(int fd, void *buf, size_t count, size_t *nread); | 
| 29   int (*write)(int fd, const void *buf, size_t count, size_t *nwrote); | 48   int (*write)(int fd, const void *buf, size_t count, size_t *nwrote); | 
| 30   int (*seek)(int fd, off_t offset, int whence, off_t *new_offset); | 49   int (*seek)(int fd, off_t offset, int whence, off_t *new_offset); | 
| 31   int (*fstat)(int fd, struct stat *); | 50   int (*fstat)(int fd, struct stat *); | 
| 32   int (*getdents)(int fd, struct dirent *, size_t count, size_t *nread); | 51   int (*getdents)(int fd, struct dirent *, size_t count, size_t *nread); | 
| 33   int (*fchdir)(int fd); | 52   int (*fchdir)(int fd); | 
| 34   int (*fchmod)(int fd, mode_t mode); | 53   int (*fchmod)(int fd, mode_t mode); | 
| 35   int (*fsync)(int fd); | 54   int (*fsync)(int fd); | 
| 36   int (*fdatasync)(int fd); | 55   int (*fdatasync)(int fd); | 
| 37   int (*ftruncate)(int fd, off_t length); | 56   int (*ftruncate)(int fd, off_t length); | 
|  | 57   int (*pipe)(int pipefd[2]); | 
| 38 }; | 58 }; | 
| 39 | 59 | 
| 40 /* | 60 /* | 
| 41  * The "irt-dev-filename" is similiar to "irt-filename" but provides | 61  * The "irt-dev-filename" is similiar to "irt-filename" but provides | 
| 42  * additional functions, including those that do directory manipulation. | 62  * additional functions, including those that do directory manipulation. | 
| 43  * Inside Chromium, requests for this interface may fail, or may return | 63  * Inside Chromium, requests for this interface may fail, or may return | 
| 44  * functions which always return errors. | 64  * functions which always return errors. | 
| 45  */ | 65  */ | 
| 46 #define NACL_IRT_DEV_FILENAME_v0_2 "nacl-irt-dev-filename-0.2" | 66 #define NACL_IRT_DEV_FILENAME_v0_2 "nacl-irt-dev-filename-0.2" | 
| 47 struct nacl_irt_dev_filename_v0_2 { | 67 struct nacl_irt_dev_filename_v0_2 { | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 74   int (*utimes)(const char *filename, const struct timeval *times); | 94   int (*utimes)(const char *filename, const struct timeval *times); | 
| 75 }; | 95 }; | 
| 76 | 96 | 
| 77 #define NACL_IRT_DEV_LIST_MAPPINGS_v0_1 \ | 97 #define NACL_IRT_DEV_LIST_MAPPINGS_v0_1 \ | 
| 78   "nacl-irt-dev-list-mappings-0.1" | 98   "nacl-irt-dev-list-mappings-0.1" | 
| 79 struct nacl_irt_dev_list_mappings { | 99 struct nacl_irt_dev_list_mappings { | 
| 80   int (*list_mappings)(struct NaClMemMappingInfo *regions, | 100   int (*list_mappings)(struct NaClMemMappingInfo *regions, | 
| 81                        size_t count, size_t *result_count); | 101                        size_t count, size_t *result_count); | 
| 82 }; | 102 }; | 
| 83 | 103 | 
|  | 104 #define NACL_IRT_DEV_PROCESS_v0_1 "nacl-irt-dev-process-0.1" | 
|  | 105 struct nacl_irt_dev_process { | 
|  | 106   int (*getpid)(pid_t *pid); | 
|  | 107   int (*getppid)(pid_t *ppid); | 
|  | 108   int (*setpgid)(pid_t pid, pid_t pgid); | 
|  | 109   int (*getpgid)(pid_t pid, pid_t *pgid); | 
|  | 110   int (*setsid)(pid_t *sid); | 
|  | 111   int (*getsid)(pid_t pid, pid_t *sid); | 
|  | 112   int (*kill)(pid_t pid, int sig); | 
|  | 113   int (*posix_spawn)(pid_t *pid, const char *path, | 
|  | 114                      const posix_spawn_file_actions_t *file_actions, | 
|  | 115                      const posix_spawnattr_t *attrp, | 
|  | 116                      char *const argv[], char *const envp[]); | 
|  | 117   int (*signal)(int sig, sighandler_t handler, sighandler_t *oldhandler); | 
|  | 118   int (*sigprocmask)(int how, const sigset_t *set, sigset_t *oldset); | 
|  | 119   int (*wait)(int *pid, int *status); | 
|  | 120   int (*waitpid)(int *pid, int *status, int options); | 
|  | 121 }; | 
|  | 122 | 
| 84 #if defined(__cplusplus) | 123 #if defined(__cplusplus) | 
| 85 } | 124 } | 
| 86 #endif | 125 #endif | 
| 87 | 126 | 
| 88 #endif /* NATIVE_CLIENT_SRC_UNTRUSTED_IRT_IRT_DEV_H */ | 127 #endif /* NATIVE_CLIENT_SRC_UNTRUSTED_IRT_IRT_DEV_H */ | 
| OLD | NEW | 
|---|