Coverage Report

Created: 2024-05-20 06:23

/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 */