Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ | 5 #ifndef BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ |
| 6 #define BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ | 6 #define BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" |
| (...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 179 // Whether passing this object as a parameter to an IPC message passes | 179 // Whether passing this object as a parameter to an IPC message passes |
| 180 // ownership of |memory_object_| to the IPC stack. This is meant to mimic | 180 // ownership of |memory_object_| to the IPC stack. This is meant to mimic |
| 181 // the behavior of the |auto_close| parameter of FileDescriptor. | 181 // the behavior of the |auto_close| parameter of FileDescriptor. |
| 182 // Defaults to |false|. | 182 // Defaults to |false|. |
| 183 bool ownership_passes_to_ipc_; | 183 bool ownership_passes_to_ipc_; |
| 184 }; | 184 }; |
| 185 }; | 185 }; |
| 186 }; | 186 }; |
| 187 #endif | 187 #endif |
| 188 | 188 |
| 189 #if defined(OS_POSIX) && !(defined(OS_MACOSX) && !defined(OS_IOS)) | |
| 190 struct SharedMemoryHandleID { | |
| 191 dev_t device_id; | |
| 192 ino_t file_id; | |
| 193 }; | |
| 194 #elif defined(OS_MACOSX) | |
| 195 struct SharedMemoryHandleID { | |
| 196 // TODO: On macOS, this might be mach_port_t. | |
| 197 dev_t device_id; | |
| 198 ino_t file_id; | |
| 199 }; | |
| 200 #elif defined(OS_WIN) | |
| 201 struct SharedMemoryHandleID { | |
| 202 DWORD device_id; // BY_HANDLE_FILE_INFORMATION.dwVolumeSerialNumber | |
| 203 intt64_t file_id; // BY_HANDLE_FILE_INFORMATION.nFileIndexHigh and Low | |
| 204 }; | |
| 205 #endif | |
| 206 | |
| 207 bool GetIDFromSharedMemoryHandle(const SharedMemoryHandle& handle, | |
|
Primiano Tucci (use gerrit)
2017/01/20 16:34:52
should this just be a member function of SharedMem
hajimehoshi
2017/01/23 11:59:09
I like your suggestion, but on POSIX, SharedMemory
Primiano Tucci (use gerrit)
2017/01/24 01:26:40
Ahh okay I didn't notice. I think it was always so
| |
| 208 SharedMemoryHandleID* id); | |
| 209 | |
| 210 std::string GetSharedMemoryHandleIDString(const SharedMemoryHandleID& id); | |
| 211 | |
| 189 } // namespace base | 212 } // namespace base |
| 190 | 213 |
| 191 #endif // BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ | 214 #endif // BASE_MEMORY_SHARED_MEMORY_HANDLE_H_ |
| OLD | NEW |