PDA

View Full Version : عملكرد توابع setsockopt و poptGetContext چيست؟



dr-solomons
دوشنبه 13 مهر 1388, 09:09 صبح
با سلام
عملكرد تابع setsockopt با فرم كلي زير چيست؟
ميدانم كه دستكاري موارد قابل تنظيم تابع socket است (بيش از اين)


flag = 1;
setsockopt(listenfd, SOL_SOCKET, SO_REUSEADDR, &flag, sizeof(flag));

عملكرد تابع poptGetContext و poptGetNextOpt چيست؟
كد زير بهتر فرم اين تابع را نمايش مي دهد


char c;
poptContext optCon;
struct poptOption optionsTable[] = {
{ "server", 's', POPT_ARG_STRING, &server_string, 0,
"server name", "name|IP" },
{ "port", 'p', POPT_ARG_INT, &port, 0,
"server port number", "port" },
POPT_AUTOHELP
{ NULL, 0, 0, NULL, 0 }
};

optCon = poptGetContext("forwarder", argc, (const char **)argv,
optionsTable, 0);
while ((c = poptGetNextOpt(optCon)) >= 0);

if (c < -1) {
/* an error occurred during option processing */
fprintf(stderr, "%s: %s\n",
poptBadOption(optCon, POPT_BADOPTION_NOALIAS),
poptStrerror(c));
exit(1);
}

چرا while فقط يك خط است؟

با تشكر فراوان