ENUM_PTRS_END static RELOC_PTRS_BEGIN(cs_DeviceN_reloc_ptrs) { RELOC_PTR(gs_color_space, params.device_n.names); RELOC_PTR(gs_color_space, params.device_n.map); RELOC_PTR(gs_color_space, params.device_n.colorants); }
ENUM_PTRS_END static RELOC_PTRS_BEGIN(pl_dict_entry_reloc_ptrs) { /* RELOC_CONST_STRING_PTR(pl_dict_entry_t, key); */ RELOC_PTR(pl_dict_entry_t, value); RELOC_PTR(pl_dict_entry_t, next); RELOC_PTR(pl_dict_entry_t, link); } RELOC_PTRS_END
ENUM_PTRS_END static RELOC_PTRS_WITH(data_source_reloc_ptrs, gs_data_source_t *psrc) { if (psrc->type == data_source_type_string) RELOC_CONST_STRING_PTR(gs_data_source_t, data.str); else if (psrc->type == data_source_type_stream) RELOC_PTR(gs_data_source_t, data.strm); else /* bytes or floats */ RELOC_PTR(gs_data_source_t, data.str.data); }
ENUM_PTRS_END static RELOC_PTRS_WITH(gs_image_enum_reloc_ptrs, gs_image_enum *eptr) { int i; RELOC_PTR(gs_image_enum, dev); RELOC_PTR(gs_image_enum, info); for (i = 0; i < eptr->num_planes; i++) RELOC_CONST_STRING_PTR(gs_image_enum, planes[i].source); for (i = 0; i < eptr->num_planes; i++) RELOC_STRING_PTR(gs_image_enum, planes[i].row); }
ENUM_PTRS_END static RELOC_PTRS_WITH(screen_enum_reloc_ptrs, gs_screen_enum *eptr) { RELOC_PTR(gs_screen_enum, pgs); RELOC_USING(st_halftone, &eptr->halftone, sizeof(gs_halftone)); RELOC_USING(st_ht_order, &eptr->order, sizeof(gx_ht_order)); }
ENUM_PTRS_END static RELOC_PTRS_WITH(gs_type1_state_reloc_ptrs, gs_type1_state *pcis) { int i; RELOC_PTR(gs_type1_state, pfont); RELOC_PTR(gs_type1_state, pis); RELOC_PTR(gs_type1_state, path); RELOC_PTR(gs_type1_state, callback_data); for (i = 0; i < pcis->ips_count; i++) { ip_state_t *ipsp = &pcis->ipstack[i]; int diff = ipsp->ip - ipsp->cs_data.bits.data; RELOC_USING(st_glyph_data, &ipsp->cs_data, sizeof(ipsp->cs_data)); ipsp->ip = ipsp->cs_data.bits.data + diff; } } RELOC_PTRS_END
ENUM_PTRS_END static RELOC_PTRS_WITH(gs_glyph_cache_elem_reloc_ptrs, gs_glyph_cache_elem *e) { RELOC_PTR(gs_glyph_cache_elem, next); RELOC_USING(st_glyph_data, &e->gd, sizeof(e->gd)); } RELOC_PTRS_END
ENUM_PTRS_END static RELOC_PTRS_BEGIN(cs_Separation_reloc_ptrs) { RELOC_PTR(gs_color_space, params.separation.map); }