typedef struct PK_SESSION_frustrum_s { --- macro PK_SESSION_frustrum_o_m initialises all of these fields to NULL PK_FSTART_f_t fstart; PK_FABORT_f_t fabort; PK_FSTOP_f_t fstop; PK_FMALLO_f_t fmallo; PK_FMFREE_f_t fmfree; PK_GOSGMT_f_t gosgmt; PK_GOOPSG_f_t goopsg; PK_GOCLSG_f_t goclsg; PK_GOPIXL_f_t gopixl; PK_GOOPPX_f_t gooppx; PK_GOCLPX_f_t goclpx; PK_FFOPRD_f_t ffoprd; PK_FFOPWR_f_t ffopwr; PK_FFCLOS_f_t ffclos; PK_FFREAD_f_t ffread; PK_FFWRIT_f_t ffwrit; PK_FFOPRB_f_t ffoprb; PK_FFSEEK_f_t ffseek; PK_FFTELL_f_t fftell; PK_FGCRCU_f_t fgcrcu; PK_FGCRSU_f_t fgcrsu; PK_FGEVCU_f_t fgevcu; PK_FGEVSU_f_t fgevsu; PK_FGPRCU_f_t fgprcu; PK_FGPRSU_f_t fgprsu; PK_UCOPRD_f_t ucoprd; PK_UCOPWR_f_t ucopwr; } PK_SESSION_frustrum_t; This data structure holds pointers to the functions the application wishes to register with the PK using PK_SESSION_register_frustrum. The structure can be initialised with the PK_SESSION_frustrum_o_m macro.