/src/nspr/pr/src/memory/prshma.c
Line | Count | Source (jump to first uncovered line) |
1 | | /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ |
2 | | /* This Source Code Form is subject to the terms of the Mozilla Public |
3 | | * License, v. 2.0. If a copy of the MPL was not distributed with this |
4 | | * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
5 | | |
6 | | /* |
7 | | ** prshma.h -- NSPR Anonymous Shared Memory |
8 | | ** |
9 | | ** |
10 | | */ |
11 | | |
12 | | #include "primpl.h" |
13 | | |
14 | | extern PRLogModuleInfo *_pr_shma_lm; |
15 | | |
16 | | #if defined(XP_UNIX) |
17 | | /* defined in pr/src/md/unix/uxshm.c */ |
18 | | #elif defined(WIN32) |
19 | | /* defined in pr/src/md/windows/w32shm.c */ |
20 | | #else |
21 | | extern PRFileMap * _PR_MD_OPEN_ANON_FILE_MAP( const char *dirName, PRSize size, PRFileMapProtect prot ) |
22 | | { |
23 | | PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0); |
24 | | return NULL; |
25 | | } |
26 | | extern PRStatus _PR_MD_EXPORT_FILE_MAP_AS_STRING(PRFileMap *fm, PRSize bufSize, char *buf) |
27 | | { |
28 | | PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0); |
29 | | return PR_FAILURE; |
30 | | } |
31 | | extern PRFileMap * _PR_MD_IMPORT_FILE_MAP_FROM_STRING(const char *fmstring) |
32 | | { |
33 | | PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0); |
34 | | return NULL; |
35 | | } |
36 | | #endif |
37 | | |
38 | | /* |
39 | | ** PR_OpenAnonFileMap() -- Creates an anonymous file-mapped shared memory |
40 | | ** |
41 | | */ |
42 | | PR_IMPLEMENT(PRFileMap*) |
43 | | PR_OpenAnonFileMap( |
44 | | const char *dirName, |
45 | | PRSize size, |
46 | | PRFileMapProtect prot |
47 | | ) |
48 | 0 | { |
49 | 0 | return(_PR_MD_OPEN_ANON_FILE_MAP( dirName, size, prot )); |
50 | 0 | } /* end PR_OpenAnonFileMap() */ |
51 | | |
52 | | /* |
53 | | ** PR_ProcessAttrSetInheritableFileMap() -- Prepare FileMap for export |
54 | | ** to my children processes via PR_CreateProcess() |
55 | | ** |
56 | | ** |
57 | | */ |
58 | | PR_IMPLEMENT( PRStatus) |
59 | | PR_ProcessAttrSetInheritableFileMap( |
60 | | PRProcessAttr *attr, |
61 | | PRFileMap *fm, |
62 | | const char *shmname |
63 | | ) |
64 | 0 | { |
65 | 0 | PR_SetError( PR_NOT_IMPLEMENTED_ERROR, 0 ); |
66 | 0 | return( PR_FAILURE); |
67 | 0 | } /* end PR_ProcessAttrSetInheritableFileMap() */ |
68 | | |
69 | | /* |
70 | | ** PR_GetInheritedFileMap() -- Import a PRFileMap previously exported |
71 | | ** by my parent process via PR_CreateProcess() |
72 | | ** |
73 | | */ |
74 | | PR_IMPLEMENT( PRFileMap *) |
75 | | PR_GetInheritedFileMap( |
76 | | const char *shmname |
77 | | ) |
78 | 0 | { |
79 | 0 | PRFileMap *fm = NULL; |
80 | 0 | PR_SetError( PR_NOT_IMPLEMENTED_ERROR, 0 ); |
81 | 0 | return( fm ); |
82 | 0 | } /* end PR_GetInhteritedFileMap() */ |
83 | | |
84 | | /* |
85 | | ** PR_ExportFileMapAsString() -- Creates a string identifying a PRFileMap |
86 | | ** |
87 | | */ |
88 | | PR_IMPLEMENT( PRStatus ) |
89 | | PR_ExportFileMapAsString( |
90 | | PRFileMap *fm, |
91 | | PRSize bufSize, |
92 | | char *buf |
93 | | ) |
94 | 0 | { |
95 | 0 | return( _PR_MD_EXPORT_FILE_MAP_AS_STRING( fm, bufSize, buf )); |
96 | 0 | } /* end PR_ExportFileMapAsString() */ |
97 | | |
98 | | /* |
99 | | ** PR_ImportFileMapFromString() -- Creates a PRFileMap from the identifying string |
100 | | ** |
101 | | ** |
102 | | */ |
103 | | PR_IMPLEMENT( PRFileMap * ) |
104 | | PR_ImportFileMapFromString( |
105 | | const char *fmstring |
106 | | ) |
107 | 0 | { |
108 | 0 | return( _PR_MD_IMPORT_FILE_MAP_FROM_STRING(fmstring)); |
109 | 0 | } /* end PR_ImportFileMapFromString() */ |
110 | | /* end prshma.c */ |