Coverage Report

Created: 2025-06-24 06:49

/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,
22
                                            PRFileMapProtect prot) {
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,
27
                                                 char* buf) {
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
  PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
33
  return NULL;
34
}
35
#endif
36
37
/*
38
** PR_OpenAnonFileMap() -- Creates an anonymous file-mapped shared memory
39
**
40
*/
41
PR_IMPLEMENT(PRFileMap*)
42
0
PR_OpenAnonFileMap(const char* dirName, PRSize size, PRFileMapProtect prot) {
43
0
  return (_PR_MD_OPEN_ANON_FILE_MAP(dirName, size, prot));
44
0
} /* end PR_OpenAnonFileMap() */
45
46
/*
47
** PR_ProcessAttrSetInheritableFileMap() -- Prepare FileMap for export
48
**   to my children processes via PR_CreateProcess()
49
**
50
**
51
*/
52
PR_IMPLEMENT(PRStatus)
53
PR_ProcessAttrSetInheritableFileMap(PRProcessAttr* attr, PRFileMap* fm,
54
0
                                    const char* shmname) {
55
0
  PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
56
0
  return (PR_FAILURE);
57
0
} /* end PR_ProcessAttrSetInheritableFileMap() */
58
59
/*
60
** PR_GetInheritedFileMap() -- Import a PRFileMap previously exported
61
**   by my parent process via PR_CreateProcess()
62
**
63
*/
64
PR_IMPLEMENT(PRFileMap*)
65
0
PR_GetInheritedFileMap(const char* shmname) {
66
0
  PRFileMap* fm = NULL;
67
0
  PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
68
0
  return (fm);
69
0
} /* end PR_GetInhteritedFileMap() */
70
71
/*
72
** PR_ExportFileMapAsString() -- Creates a string identifying a PRFileMap
73
**
74
*/
75
PR_IMPLEMENT(PRStatus)
76
0
PR_ExportFileMapAsString(PRFileMap* fm, PRSize bufSize, char* buf) {
77
0
  return (_PR_MD_EXPORT_FILE_MAP_AS_STRING(fm, bufSize, buf));
78
0
} /* end PR_ExportFileMapAsString() */
79
80
/*
81
** PR_ImportFileMapFromString() -- Creates a PRFileMap from the identifying
82
*string
83
**
84
**
85
*/
86
PR_IMPLEMENT(PRFileMap*)
87
0
PR_ImportFileMapFromString(const char* fmstring) {
88
0
  return (_PR_MD_IMPORT_FILE_MAP_FROM_STRING(fmstring));
89
0
} /* end PR_ImportFileMapFromString() */
90
/* end prshma.c */