| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2012 The Native Client Authors. All rights reserved. | 2 * Copyright (c) 2012 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 | 6 |
| 7 /* | 7 /* |
| 8 * NaCl Service Runtime. I/O Descriptor / Handle abstraction. Memory | 8 * NaCl Service Runtime. I/O Descriptor / Handle abstraction. Memory |
| 9 * mapping using descriptors. | 9 * mapping using descriptors. |
| 10 */ | 10 */ |
| 11 | 11 |
| 12 #include <stdlib.h> | 12 #include <stdlib.h> |
| 13 #include <string.h> | 13 #include <string.h> |
| 14 #include <sys/types.h> | 14 #include <sys/types.h> |
| 15 #include <sys/stat.h> | 15 #include <sys/stat.h> |
| 16 | 16 |
| 17 #include "native_client/src/include/portability.h" | 17 #include "native_client/src/include/portability.h" |
| 18 #include "native_client/src/include/nacl_platform.h" | 18 #include "native_client/src/include/nacl_platform.h" |
| 19 | 19 |
| 20 #include "native_client/src/public/desc_metadata_types.h" | 20 #include "native_client/src/public/desc_metadata_types.h" |
| 21 | 21 |
| 22 #include "native_client/src/shared/platform/nacl_host_desc.h" | 22 #include "native_client/src/shared/platform/nacl_host_desc.h" |
| 23 #include "native_client/src/shared/platform/nacl_log.h" | 23 #include "native_client/src/shared/platform/nacl_log.h" |
| 24 #include "native_client/src/shared/platform/nacl_sync_checked.h" | 24 #include "native_client/src/shared/platform/nacl_sync_checked.h" |
| 25 | 25 |
| 26 #if NACL_LINUX | |
| 27 #include "native_client/src/trusted/desc/linux/nacl_desc_sysv_shm.h" | |
| 28 #endif /* NACL_LINUX */ | |
| 29 #include "native_client/src/trusted/desc/nacl_desc_base.h" | 26 #include "native_client/src/trusted/desc/nacl_desc_base.h" |
| 30 #include "native_client/src/trusted/desc/nacl_desc_cond.h" | 27 #include "native_client/src/trusted/desc/nacl_desc_cond.h" |
| 31 #include "native_client/src/trusted/desc/nacl_desc_conn_cap.h" | 28 #include "native_client/src/trusted/desc/nacl_desc_conn_cap.h" |
| 32 #include "native_client/src/trusted/desc/nacl_desc_dir.h" | 29 #include "native_client/src/trusted/desc/nacl_desc_dir.h" |
| 33 #include "native_client/src/trusted/desc/nacl_desc_imc.h" | 30 #include "native_client/src/trusted/desc/nacl_desc_imc.h" |
| 34 #include "native_client/src/trusted/desc/nacl_desc_imc_bound_desc.h" | 31 #include "native_client/src/trusted/desc/nacl_desc_imc_bound_desc.h" |
| 35 #include "native_client/src/trusted/desc/nacl_desc_imc_shm.h" | 32 #include "native_client/src/trusted/desc/nacl_desc_imc_shm.h" |
| 36 #include "native_client/src/trusted/desc/nacl_desc_invalid.h" | 33 #include "native_client/src/trusted/desc/nacl_desc_invalid.h" |
| 37 #include "native_client/src/trusted/desc/nacl_desc_io.h" | 34 #include "native_client/src/trusted/desc/nacl_desc_io.h" |
| 38 #include "native_client/src/trusted/desc/nacl_desc_mutex.h" | 35 #include "native_client/src/trusted/desc/nacl_desc_mutex.h" |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 200 #if NACL_WINDOWS | 197 #if NACL_WINDOWS |
| 201 NaClDescConnCapInternalize, | 198 NaClDescConnCapInternalize, |
| 202 NaClDescInternalizeNotImplemented, | 199 NaClDescInternalizeNotImplemented, |
| 203 #else | 200 #else |
| 204 NaClDescInternalizeNotImplemented, | 201 NaClDescInternalizeNotImplemented, |
| 205 NaClDescConnCapFdInternalize, | 202 NaClDescConnCapFdInternalize, |
| 206 #endif | 203 #endif |
| 207 NaClDescInternalizeNotImplemented, /* bound sockets cannot be transferred */ | 204 NaClDescInternalizeNotImplemented, /* bound sockets cannot be transferred */ |
| 208 NaClDescInternalizeNotImplemented, /* connected abstract base class */ | 205 NaClDescInternalizeNotImplemented, /* connected abstract base class */ |
| 209 NaClDescImcShmInternalize, | 206 NaClDescImcShmInternalize, |
| 210 #if NACL_LINUX && !NACL_ANDROID | |
| 211 NaClDescSysvShmInternalize, | |
| 212 #else | |
| 213 NULL, | |
| 214 #endif /* NACL_LINUX */ | |
| 215 NaClDescInternalizeNotImplemented, /* mutex */ | 207 NaClDescInternalizeNotImplemented, /* mutex */ |
| 216 NaClDescInternalizeNotImplemented, /* condvar */ | 208 NaClDescInternalizeNotImplemented, /* condvar */ |
| 217 NaClDescInternalizeNotImplemented, /* semaphore */ | 209 NaClDescInternalizeNotImplemented, /* semaphore */ |
| 218 NaClDescSyncSocketInternalize, | 210 NaClDescSyncSocketInternalize, |
| 219 NaClDescXferableDataDescInternalize, | 211 NaClDescXferableDataDescInternalize, |
| 220 NaClDescInternalizeNotImplemented, /* imc socket */ | 212 NaClDescInternalizeNotImplemented, /* imc socket */ |
| 221 NaClDescQuotaInternalize, /* quota wrapper */ | 213 NaClDescQuotaInternalize, /* quota wrapper */ |
| 222 NaClDescRngInternalize, /* device: rng */ | 214 NaClDescRngInternalize, /* device: rng */ |
| 223 NaClDescInternalizeNotImplemented, /* device: postmessage */ | 215 NaClDescInternalizeNotImplemented, /* device: postmessage */ |
| 224 NaClDescInternalizeNotImplemented, /* custom */ | 216 NaClDescInternalizeNotImplemented, /* custom */ |
| 225 NaClDescNullInternalize, | 217 NaClDescNullInternalize, |
| 226 }; | 218 }; |
| 227 | 219 |
| 228 char const *NaClDescTypeString(enum NaClDescTypeTag type_tag) { | 220 char const *NaClDescTypeString(enum NaClDescTypeTag type_tag) { |
| 229 /* default functions for the vtable - return NOT_IMPLEMENTED */ | 221 /* default functions for the vtable - return NOT_IMPLEMENTED */ |
| 230 switch (type_tag) { | 222 switch (type_tag) { |
| 231 #define MAP(E) case E: do { return #E; } while (0) | 223 #define MAP(E) case E: do { return #E; } while (0) |
| 232 MAP(NACL_DESC_INVALID); | 224 MAP(NACL_DESC_INVALID); |
| 233 MAP(NACL_DESC_DIR); | 225 MAP(NACL_DESC_DIR); |
| 234 MAP(NACL_DESC_HOST_IO); | 226 MAP(NACL_DESC_HOST_IO); |
| 235 MAP(NACL_DESC_CONN_CAP); | 227 MAP(NACL_DESC_CONN_CAP); |
| 236 MAP(NACL_DESC_CONN_CAP_FD); | 228 MAP(NACL_DESC_CONN_CAP_FD); |
| 237 MAP(NACL_DESC_BOUND_SOCKET); | 229 MAP(NACL_DESC_BOUND_SOCKET); |
| 238 MAP(NACL_DESC_CONNECTED_SOCKET); | 230 MAP(NACL_DESC_CONNECTED_SOCKET); |
| 239 MAP(NACL_DESC_SHM); | 231 MAP(NACL_DESC_SHM); |
| 240 MAP(NACL_DESC_SYSV_SHM); | |
| 241 MAP(NACL_DESC_MUTEX); | 232 MAP(NACL_DESC_MUTEX); |
| 242 MAP(NACL_DESC_CONDVAR); | 233 MAP(NACL_DESC_CONDVAR); |
| 243 MAP(NACL_DESC_SEMAPHORE); | 234 MAP(NACL_DESC_SEMAPHORE); |
| 244 MAP(NACL_DESC_SYNC_SOCKET); | 235 MAP(NACL_DESC_SYNC_SOCKET); |
| 245 MAP(NACL_DESC_TRANSFERABLE_DATA_SOCKET); | 236 MAP(NACL_DESC_TRANSFERABLE_DATA_SOCKET); |
| 246 MAP(NACL_DESC_IMC_SOCKET); | 237 MAP(NACL_DESC_IMC_SOCKET); |
| 247 MAP(NACL_DESC_QUOTA); | 238 MAP(NACL_DESC_QUOTA); |
| 248 MAP(NACL_DESC_DEVICE_RNG); | 239 MAP(NACL_DESC_DEVICE_RNG); |
| 249 MAP(NACL_DESC_DEVICE_POSTMESSAGE); | 240 MAP(NACL_DESC_DEVICE_POSTMESSAGE); |
| 250 MAP(NACL_DESC_CUSTOM); | 241 MAP(NACL_DESC_CUSTOM); |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 740 NaClDescPostNotImplemented, | 731 NaClDescPostNotImplemented, |
| 741 NaClDescSemWaitNotImplemented, | 732 NaClDescSemWaitNotImplemented, |
| 742 NaClDescGetValueNotImplemented, | 733 NaClDescGetValueNotImplemented, |
| 743 NaClDescSetMetadata, | 734 NaClDescSetMetadata, |
| 744 NaClDescGetMetadata, | 735 NaClDescGetMetadata, |
| 745 NaClDescSetFlags, | 736 NaClDescSetFlags, |
| 746 NaClDescGetFlags, | 737 NaClDescGetFlags, |
| 747 NaClDescIsattyNotImplemented, | 738 NaClDescIsattyNotImplemented, |
| 748 (enum NaClDescTypeTag) -1, /* NaClDesc is an abstract base class */ | 739 (enum NaClDescTypeTag) -1, /* NaClDesc is an abstract base class */ |
| 749 }; | 740 }; |
| OLD | NEW |