int main(void) { launch_data_t output_obj = NULL; assert(vproc_swap_complex(NULL, VPROC_GSK_ENVIRONMENT, NULL, &output_obj) == 0); assert(launch_data_get_type(output_obj) == LAUNCH_DATA_DICTIONARY); launch_data_dict_iterate(output_obj, my_callback, stdout); return 0; }
CFDictionaryRef GTMCopyLaunchdExports(void) { launch_data_t resp; CFDictionaryRef dict = NULL; vproc_err_t err = vproc_swap_complex(NULL, VPROC_GSK_ENVIRONMENT_10_5, NULL, &resp); if (err) { err = vproc_swap_complex(NULL, VPROC_GSK_ENVIRONMENT_10_6, NULL, &resp); } if (err == NULL) { CFErrorRef error = NULL; dict = GTMCFTypeCreateFromLaunchData(resp, false, &error); if (error) { #ifdef DEBUG CFShow(error); #endif // DEBUG CFRelease(error); } launch_data_free(resp); } return dict; }