trunk/src/lib/web/mongoose.c
| r31983 | r31984 | |
| 5141 | 5141 | server->event_handler = handler; |
| 5142 | 5142 | return server; |
| 5143 | 5143 | } |
| 5144 | |
| 5145 | #ifdef _WIN32 |
| 5146 | static void *mmap(void *addr, int64_t len, int prot, int flags, int fd, |
| 5147 | int offset) { |
| 5148 | HANDLE fh = (HANDLE) _get_osfhandle(fd); |
| 5149 | HANDLE mh = CreateFileMapping(fh, 0, PAGE_READONLY, 0, 0, 0); |
| 5150 | void *p = MapViewOfFile(mh, FILE_MAP_READ, 0, 0, (size_t) len); |
| 5151 | CloseHandle(mh); |
| 5152 | return p; |
| 5153 | } |
| 5154 | #define munmap(x, y) UnmapViewOfFile(x) |
| 5155 | #define MAP_FAILED NULL |
| 5156 | #define MAP_PRIVATE 0 |
| 5157 | #define PROT_READ 0 |
| 5158 | #else |
| 5159 | #include <sys/mman.h> |
| 5160 | #endif |
| 5161 | |
| 5162 | void *mg_mmap(FILE *fp, size_t size) { |
| 5163 | return mmap(NULL, size, PROT_READ, MAP_PRIVATE, fileno(fp), 0); |
| 5164 | } |
| 5165 | |
| 5166 | void mg_munmap(void *p, size_t size) { |
| 5167 | munmap(p, size); |
| 5168 | } |
trunk/src/lib/web/mongoose.h
| r31983 | r31984 | |
| 135 | 135 | int mg_url_decode(const char *src, int src_len, char *dst, int dst_len, int); |
| 136 | 136 | int mg_terminate_ssl(struct mg_connection *c, const char *cert); |
| 137 | 137 | int mg_forward(struct mg_connection *, const char *host, int port, int use_ssl); |
| 138 | void *mg_mmap(FILE *fp, size_t size); |
| 139 | void mg_munmap(void *p, size_t size); |
| 138 | 140 | |
| 139 | 141 | |
| 140 | 142 | // Templates support |