int main(int argc, char **argv) { int c, sep = __pmPathSeparator(); int errflag = 0; char helppath[MAXPATHLEN]; _isDSO = 0; __pmSetProgname(argv[0]); __pmGetUsername(&username); sprintf(helppath, "%s%c" "darwin" "%c" "help", pmGetConfig("PCP_PMDAS_DIR"), sep, sep); pmdaDaemon(&dispatch, PMDA_INTERFACE_3, pmProgname, DARWIN, "darwin.log", helppath); while ((c = pmdaGetOpt(argc, argv, "D:d:i:l:pu:U:6:?", &dispatch, &errflag)) != EOF) { switch(c) { case 'U': username = optarg; break; default: errflag++; } } if (errflag) usage(); pmdaOpenLog(&dispatch); darwin_init(&dispatch); pmdaConnect(&dispatch); pmdaMain(&dispatch); exit(0); }
int iopl(int level __attribute__((unused))) { atexit(darwin_cleanup); return darwin_init(); }