Home | History | Annotate | Download | only in minzip

Lines Matching refs:pMap

55  * On success, returns 0 and fills out "pMap".  On failure, returns a nonzero
56 * value and does not disturb "pMap".
58 static int sysMapFD(int fd, MemMapping* pMap)
64 assert(pMap != NULL);
76 pMap->addr = memPtr;
77 pMap->length = length;
78 pMap->range_count = 1;
79 pMap->ranges = malloc(sizeof(MappedRange));
80 pMap->ranges[0].addr = memPtr;
81 pMap->ranges[0].length = length;
86 static int sysMapBlockFile(FILE* mapf, MemMapping* pMap)
113 pMap->range_count = range_count;
114 pMap->ranges = malloc(range_count * sizeof(MappedRange));
115 memset(pMap->ranges, 0, range_count * sizeof(MappedRange));
125 pMap->ranges[range_count-1].addr = reserve;
126 pMap->ranges[range_count-1].length = blocks * blksize;
147 pMap->ranges[i].addr = addr;
148 pMap->ranges[i].length = (end-start)*blksize;
150 next += pMap->ranges[i].length;
153 pMap->addr = reserve;
154 pMap->length = size;
161 int sysMapFile(const char* fn, MemMapping* pMap)
163 memset(pMap, 0, sizeof(*pMap));
173 if (sysMapBlockFile(mapf, pMap) != 0) {
187 if (sysMapFD(fd, pMap) != 0) {
201 void sysReleaseMap(MemMapping* pMap)
204 for (i = 0; i < pMap->range_count; ++i) {
205 if (munmap(pMap->ranges[i].addr, pMap->ranges[i].length) < 0) {
207 pMap->ranges[i].addr, (int)pMap->ranges[i].length, strerror(errno));
210 free(pMap->ranges);
211 pMap->ranges = NULL;
212 pMap->range_count = 0;