1#include <mach/mach.h> 2#include <mach/mach_error.h> 3#include <servers/bootstrap.h> 4#include <unistd.h> 5#include <stdio.h> 6#include <stdlib.h> 7#include <stdbool.h> 8 9#include "dirhelper.h" 10 11#define DIRHELPER_BOOTSTRAP_NAME "com.apple.bsd.dirhelper" 12 13int main(int argc __attribute__((unused)), char *argv[] __attribute__((unused))) 14{ 15 kern_return_t kr; 16 mach_port_t mp; 17 18 kr = bootstrap_look_up(bootstrap_port, DIRHELPER_BOOTSTRAP_NAME, &mp); 19 if (kr != KERN_SUCCESS) { 20 fprintf(stderr, "bootstrap_look_up(): %s\n", bootstrap_strerror(kr)); 21 exit(EXIT_FAILURE); 22 } 23 24 kr = __dirhelper_create_user_local(mp); 25 if (kr != KERN_SUCCESS) { 26 fprintf(stderr, "dirhelper_create_user_local(): %s\n", mach_error_string(kr)); 27 exit(EXIT_FAILURE); 28 } 29 30 exit(EXIT_SUCCESS); 31} 32