Line data Source code
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 : {
49 0 : return(_PR_MD_OPEN_ANON_FILE_MAP( dirName, size, prot ));
50 : } /* 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 : {
65 0 : PR_SetError( PR_NOT_IMPLEMENTED_ERROR, 0 );
66 0 : return( PR_FAILURE);
67 : } /* 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 : {
79 0 : PRFileMap *fm = NULL;
80 0 : PR_SetError( PR_NOT_IMPLEMENTED_ERROR, 0 );
81 0 : return( fm );
82 : } /* 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 : {
95 0 : return( _PR_MD_EXPORT_FILE_MAP_AS_STRING( fm, bufSize, buf ));
96 : } /* 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 : {
108 0 : return( _PR_MD_IMPORT_FILE_MAP_FROM_STRING(fmstring));
109 : } /* end PR_ImportFileMapFromString() */
110 : /* end prshma.c */
|