Lines Matching full:mapping

38 static int fmap_init(struct pt_sec_file_mapping *mapping)  in fmap_init()  argument
40 if (!mapping) in fmap_init()
43 memset(mapping, 0, sizeof(*mapping)); in fmap_init()
49 errcode = mtx_init(&mapping->lock, mtx_plain); in fmap_init()
58 static void fmap_fini(struct pt_sec_file_mapping *mapping) in fmap_fini() argument
60 if (!mapping) in fmap_fini()
63 fclose(mapping->file); in fmap_fini()
67 mtx_destroy(&mapping->lock); in fmap_fini()
72 static int fmap_lock(struct pt_sec_file_mapping *mapping) in fmap_lock() argument
74 if (!mapping) in fmap_lock()
81 errcode = mtx_lock(&mapping->lock); in fmap_lock()
90 static int fmap_unlock(struct pt_sec_file_mapping *mapping) in fmap_unlock() argument
92 if (!mapping) in fmap_unlock()
99 errcode = mtx_unlock(&mapping->lock); in fmap_unlock()
110 struct pt_sec_file_mapping *mapping; in pt_sec_file_map() local
118 mapping = section->mapping; in pt_sec_file_map()
119 if (mapping) in pt_sec_file_map()
150 mapping = malloc(sizeof(*mapping)); in pt_sec_file_map()
151 if (!mapping) in pt_sec_file_map()
154 errcode = fmap_init(mapping); in pt_sec_file_map()
158 mapping->file = file; in pt_sec_file_map()
159 mapping->begin = begin; in pt_sec_file_map()
160 mapping->end = end; in pt_sec_file_map()
162 section->mapping = mapping; in pt_sec_file_map()
170 free(mapping); in pt_sec_file_map()
176 struct pt_sec_file_mapping *mapping; in pt_sec_file_unmap() local
181 mapping = section->mapping; in pt_sec_file_unmap()
183 if (!mapping || !section->unmap || !section->read || !section->memsize) in pt_sec_file_unmap()
186 section->mapping = NULL; in pt_sec_file_unmap()
191 fmap_fini(mapping); in pt_sec_file_unmap()
192 free(mapping); in pt_sec_file_unmap()
200 struct pt_sec_file_mapping *mapping; in pt_sec_file_read() local
209 mapping = section->mapping; in pt_sec_file_read()
210 if (!mapping) in pt_sec_file_read()
213 file = mapping->file; in pt_sec_file_read()
221 begin = mapping->begin + (long) offset; in pt_sec_file_read()
223 errcode = fmap_lock(mapping); in pt_sec_file_read()
233 errcode = fmap_unlock(mapping); in pt_sec_file_read()
240 (void) fmap_unlock(mapping); in pt_sec_file_read()
249 if (!section->mapping) in pt_sec_file_memsize()