Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mongoose
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
esp
mongoose
Commits
78066097
Commit
78066097
authored
Sep 04, 2014
by
m.milanovic@levi9.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added mg_mmap and mg_munmap utility functions for memory mapping files
parent
72f45aa7
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
27 additions
and
0 deletions
+27
-0
mongoose.c
mongoose.c
+25
-0
mongoose.h
mongoose.h
+2
-0
No files found.
mongoose.c
View file @
78066097
...
...
@@ -5141,3 +5141,28 @@ struct mg_server *mg_create_server(void *server_data, mg_handler_t handler) {
server
->
event_handler
=
handler
;
return
server
;
}
#ifdef _WIN32
static
void
*
mmap
(
void
*
addr
,
int64_t
len
,
int
prot
,
int
flags
,
int
fd
,
int
offset
)
{
HANDLE
fh
=
(
HANDLE
)
_get_osfhandle
(
fd
);
HANDLE
mh
=
CreateFileMapping
(
fh
,
0
,
PAGE_READONLY
,
0
,
0
,
0
);
void
*
p
=
MapViewOfFile
(
mh
,
FILE_MAP_READ
,
0
,
0
,
(
size_t
)
len
);
CloseHandle
(
mh
);
return
p
;
}
#define munmap(x, y) UnmapViewOfFile(x)
#define MAP_FAILED NULL
#define MAP_PRIVATE 0
#define PROT_READ 0
#else
#include <sys/mman.h>
#endif
void
*
mg_mmap
(
FILE
*
fp
,
size_t
size
)
{
return
mmap
(
NULL
,
size
,
PROT_READ
,
MAP_PRIVATE
,
fileno
(
fp
),
0
);
}
void
mg_munmap
(
void
*
p
,
size_t
size
)
{
munmap
(
p
,
size
);
}
mongoose.h
View file @
78066097
...
...
@@ -135,6 +135,8 @@ int mg_url_encode(const char *src, size_t s_len, char *dst, size_t dst_len);
int
mg_url_decode
(
const
char
*
src
,
int
src_len
,
char
*
dst
,
int
dst_len
,
int
);
int
mg_terminate_ssl
(
struct
mg_connection
*
c
,
const
char
*
cert
);
int
mg_forward
(
struct
mg_connection
*
,
const
char
*
host
,
int
port
,
int
use_ssl
);
void
*
mg_mmap
(
FILE
*
fp
,
size_t
size
);
void
mg_munmap
(
void
*
p
,
size_t
size
);
// Templates support
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment