static ENUM_PTRS_WITH(function_Sd_enum_ptrs, gs_function_Sd_t *pfn) { index -= 6; if (index < st_data_source_max_ptrs) return ENUM_USING(st_data_source, &pfn->params.DataSource, sizeof(pfn->params.DataSource), index); return ENUM_USING_PREFIX(st_function, st_data_source_max_ptrs); }
extern dev_proc_open_device(pattern_clist_open_device); /* GC information */ /* Where is the GC information for the common objects that are shared between the reader and writer. I see pointers in there, but they don't seem to be GC. This is why I have put the icc_table and the link cache in the reader and the writer rather than the common. fixme: Also, if icc_cache_cl is not included in the writer, 64bit builds will seg fault */ extern_st(st_imager_state); static ENUM_PTRS_WITH(device_clist_enum_ptrs, gx_device_clist *cdev) if (index < st_device_forward_max_ptrs) { gs_ptr_type_t ret = ENUM_USING_PREFIX(st_device_forward, 0); return (ret ? ret : ENUM_OBJ(0)); } index -= st_device_forward_max_ptrs; if (CLIST_IS_WRITER(cdev)) { switch (index) { case 0: return ENUM_OBJ((cdev->writer.image_enum_id != gs_no_id ? cdev->writer.clip_path : 0)); case 1: return ENUM_OBJ((cdev->writer.image_enum_id != gs_no_id ? cdev->writer.color_space.space : 0)); case 2: return ENUM_OBJ(cdev->writer.pinst); case 3: