void init(int argc, char *argv[]) { int usageExit = 1; char *opthelp[512]; // more than enough int i; for (i = 0; flags[i].name != 0; i++) { opthelp[i] = (char *) flags[i].flag; flags[i].flag = NULL; } for (;;) { int c; c = getopt_long_only(argc, argv, "", flags, NULL); if (c == -1) break; switch (c) { case 'h': // -help usageExit = 0; goto usage; case '?': // getopt_long_only() should have printed something since we did not set opterr to 0 goto usage; default: fprintf(stderr, "internal error: getopt_long_only() returned %d\n", c); exit(1); } } if (parseArgs(argc, argv) != TRUE) goto usage; initwin(); return; usage: fprintf(stderr, "usage: %s [options]", argv[0]); if (args != NULL && *args != '\0') fprintf(stderr, " %s", args); fprintf(stderr, "\n"); for (i = 0; flags[i].name != 0; i++) fprintf(stderr, "\t-%s%s - %s\n", flags[i].name, (flags[i].has_arg == required_argument) ? " string" : "", opthelp[i]); exit(usageExit); }
int main(int argc, char *argv[]){ int sfd, ch; struct sockaddr_in addr; ch = getopt(argc, argv, "s:c: initwin(); prints("Creating socket...\n"); sfd = socket(AF_INET, SOCK_DGRAM, UDP_PROTO); if(sfd == -1) printe("Socket"); else prints("Socket created\n"); while(1){ puto(geti()); } getch(); endwin(); return 0; }