comparison nspr/pr/src/memory/prshma.c @ 0:1e5118fa0cb1

This is NSS with a Cmake Buildsyste To compile a static NSS library for Windows we've used the Chromium-NSS fork and added a Cmake buildsystem to compile it statically for Windows. See README.chromium for chromium changes and README.trustbridge for our modifications.
author Andre Heinecke <andre.heinecke@intevation.de>
date Mon, 28 Jul 2014 10:47:06 +0200
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:1e5118fa0cb1
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 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 PR_SetError( PR_NOT_IMPLEMENTED_ERROR, 0 );
66 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 PRFileMap *fm = NULL;
80 PR_SetError( PR_NOT_IMPLEMENTED_ERROR, 0 );
81 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 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 return( _PR_MD_IMPORT_FILE_MAP_FROM_STRING(fmstring));
109 } /* end PR_ImportFileMapFromString() */
110 /* end prshma.c */
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)