Lines Matching refs:ii

191 static void unmap_image ( /*MOD*/ImageInfo* ii )
194 assert(ii->img);
195 assert(ii->img_szB > 0);
196 r = munmap( ii->img, ii->img_szB );
200 memset(ii, 0, sizeof(*ii));
206 thin parts into *ii. Returns 32 (and leaves the file unmapped) if
210 static Int map_image_aboard ( /*OUT*/ImageInfo* ii, HChar* filename )
212 memset(ii, 0, sizeof(*ii));
238 ii->img = (UChar*)v;
239 ii->img_szB = size;
250 ii->macho_img = ii->img;
251 ii->macho_img_szB = ii->img_szB;
254 if (ii->img_szB < sizeof(struct fat_header))
258 fh_be = (struct fat_header *)ii->img;
266 if (ii->img_szB < sizeof(struct fat_header)
286 if (ii->img_szB < arch.offset + arch.size)
288 ii->macho_img = ii->img + arch.offset;
289 ii->macho_img_szB = arch.size;
300 assert(ii->img_szB >= sizeof(struct fat_header));
302 if (ii->macho_img_szB < sizeof(struct mach_header_64))
305 if (ii->macho_img_szB > ii->img_szB)
308 if (ii->macho_img >= ii->img
309 && ii->macho_img + ii->macho_img_szB <= ii->img + ii->img_szB) {
315 mh = (struct mach_header_64 *)ii->macho_img;
317 assert(ii->img);
318 assert(ii->macho_img);
319 assert(ii->img_szB > 0);
320 assert(ii->macho_img_szB > 0);
321 assert(ii->macho_img >= ii->img);
322 assert(ii->macho_img + ii->macho_img_szB <= ii->img + ii->img_szB);
328 if (ii->macho_img_szB < sizeof(struct mach_header_64) + mh->sizeofcmds)
332 assert(ii->img);
333 assert(ii->macho_img);
334 assert(ii->img_szB > 0);
335 assert(ii->macho_img_szB > 0);
336 assert(ii->macho_img >= ii->img);
337 assert(ii->macho_img + ii->macho_img_szB <= ii->img + ii->img_szB);
352 ImageInfo ii;
353 memset(&ii, 0, sizeof(ii));
355 Int size = map_image_aboard( &ii, filename );
364 assert(ii.macho_img != NULL && ii.macho_img_szB > 0);
381 { struct mach_header_64 *mh = (struct mach_header_64 *)ii.macho_img;
391 (unsigned long)((UChar*)cmd - (UChar*)ii.macho_img),
528 if (ii.img)
529 unmap_image(&ii);