本文整理汇总了C++中doit函数的典型用法代码示例。如果您正苦于以下问题:C++ doit函数的具体用法?C++ doit怎么用?C++ doit使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了doit函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
main()
{
int frame,halt=0,storea=0;
int a,b,c,y,ya,ysz,ysza,xsc,spd=10,la;
int y1,y2,y1a,y2a,ly1a;
dis_partstart();
for(a=0;a<200;a++) row[a]=rowdata1[a];
for(a=0;a<200;a++) row[a+200]=rowdata2[a];
frame=0;
ysz=400*16; ysza=-460/6;
y=0;
y1=0; y1a=500;
y2=399*16; y2a=500;
for(frame=0;frame<512;frame++)
{
if(!halt)
{
y1+=y1a;
y2+=y2a;
y2a+=9;
if(y2>400*16)
{
y2-=y2a;
y2a=-y2a*5/8;
}
y1a+=9;
la=a;
a=(y2-y1)-400*16;
if((a&0x8000)^(la&0x8000))
{
y1a=y1a*5/8;
}
y1a+=a/20;
y2a-=a/20;
}
if(frame>97)
{
if(y2>=399*16)
{
y2=400*16;
halt=1;
}
y1=y2-400*16;
}
framey1[frame]=y1;
framey2[frame]=y2;
}
_asm mov ax,13h
_asm int 10h
inittwk();
_asm
{
mov dx,3c0h
mov al,11h
out dx,al
mov al,255
out dx,al
mov al,20h
out dx,al
}
readp(palette,-1,pic);
for(y=0;y<400;y++)
{
readp(rowbuf,y,pic);
memcpy(row[y],rowbuf+70,184);
}
setpalarea(palette,0,256);
for(y=0;y<400;y++) lasty[y]=lasts[y]=-1;
dis_waitb();
scrolly(400);
dis_waitb();
for(y=0;y<400;y++)
{
linezoom(vram+y*80,row[y],184);
}
a=64; y=400*64;
while(y>0)
{
y-=a;
a+=6;
if(y<0) y=0;
scrolly(y/64);
dis_waitb();
}
storea=a;
dis_waitb();
doit();
//_asm mov ax,3
//_asm int 10h
//printf("%i\n",storea);
//.........这里部分代码省略.........
开发者ID:AoJ,项目名称:SecondReality,代码行数:101,代码来源:JP3.C
示例2: BSP_rtems_int_disconnect
int BSP_rtems_int_disconnect(rtems_irq_number n, rtems_irq_hdl hdl, rtems_irq_hdl_param p)
{
return doit(BSP_remove_rtems_irq_handler, n, hdl, p);
}
开发者ID:epicsdeb,项目名称:rtems,代码行数:4,代码来源:irq.c
示例3: main
int main(void)
{
#ifdef RLIMIT_AS
doit(RLIMIT_AS);
#endif
doit(RLIMIT_CORE);
doit(RLIMIT_CPU);
doit(RLIMIT_DATA);
doit(RLIMIT_FSIZE);
#ifdef RLIMT_LOCKS
doit(RLIMIT_LOCKS);
#endif
#ifdef RLIMT_MEMLOCK
doit(RLIMIT_MEMLOCK);
#endif
doit(RLIMIT_NOFILE);
#ifdef RLIMT_NOPROC
doit(RLIMIT_NOPROC);
#endif
#ifdef RLIMT_RSS
doit(RLIMIT_RSS);
#endif
#ifdef RLIMT_SBSIZE
doit(RLIMIT_SBSIZE);
#endif
doit(RLIMIT_STACK);
#ifdef RLIMT_VMEM
doit(RLIMIT_VMEM);
#endif
exit(0);
}
开发者ID:junwei-wang,项目名称:practice,代码行数:31,代码来源:prog7-8.c
示例4: doit
void BoxClass::ExecuteCallbacks(unsigned int flags) {
doexecute_flags doit(flags);
std::for_each(callbacks.begin(),callbacks.end(),doit);
}
开发者ID:BackupTheBerlios,项目名称:mutabor,代码行数:4,代码来源:Box.cpp
示例5: main
//.........这里部分代码省略.........
if (mode & DAEMON)
{
i = fork ();
if (i == -1)
err (-1, "could not fork a daemon process");
if (i > 0)
return 0;
}
time (&t);
memset (char_seed, 0, sizeof (char_seed));
strftime (char_seed, sizeof (char_seed), "%b-%d %Y %T", localtime (&t));
fprintf (stderr, "\n");
warnx ("version %s: starting: %s\n", VERSION, char_seed);
read_conf (CFGFILE);
if ((x = env_get ("DATALIMIT")))
{
struct rlimit r;
unsigned long dlimit = atol (x);
if (getrlimit (RLIMIT_DATA, &r) != 0)
err (-1, "could not get resource RLIMIT_DATA");
r.rlim_cur = (dlimit <= r.rlim_max) ? dlimit : r.rlim_max;
if (setrlimit (RLIMIT_DATA, &r) != 0)
err (-1, "could not set resource RLIMIT_DATA");
if (debug_level)
warnx ("DATALIMIT set to `%ld' bytes", r.rlim_cur);
}
if (!(x = env_get ("IP")))
err (-1, "$IP not set");
if (!ip4_scan (x, myipincoming))
err (-1, "could not parse IP address `%s'", x);
seed_addtime ();
udp53 = socket_udp ();
if (udp53 == -1)
err (-1, "could not open UDP socket");
if (socket_bind4_reuse (udp53, myipincoming, 53) == -1)
err (-1, "could not bind UDP socket");
seed_addtime ();
tcp53 = socket_tcp ();
if (tcp53 == -1)
err (-1, "could not open TCP socket");
if (socket_bind4_reuse (tcp53, myipincoming, 53) == -1)
err (-1, "could not bind TCP socket");
if (mode & DAEMON)
{
/* redirect stdout & stderr to a log file */
redirect_to_log (LOGFILE);
write_pid (PIDFILE);
}
seed_addtime ();
droproot ();
if (mode & DAEMON)
/* crerate a new session & detach from controlling tty */
if (setsid () < 0)
err (-1, "could not start a new session for the daemon");
seed_addtime ();
socket_tryreservein (udp53, 131072);
memset (char_seed, 0, sizeof (char_seed));
for (i = 0, x = (char *)seed; i < sizeof (char_seed); i++, x++)
char_seed[i] = *x;
dns_random_init (char_seed);
if (!(x = env_get ("IPSEND")))
err (-1, "$IPSEND not set");
if (!ip4_scan (x, myipoutgoing))
err (-1, "could not parse IP address `%s'", x);
if (!(x = env_get ("CACHESIZE")))
err (-1, "$CACHESIZE not set");
scan_ulong (x, &cachesize);
if (!cache_init (cachesize))
err (-1, "could not allocate `%ld' bytes for cache", cachesize);
if (env_get ("HIDETTL"))
response_hidettl ();
if (env_get ("FORWARDONLY"))
query_forwardonly ();
if (!roots_init ())
err (-1, "could not read servers");
if (socket_listen (tcp53, 20) == -1)
err (-1, "could not listen on TCP socket");
doit ();
return 0;
}
开发者ID:siddhesh,项目名称:djbdns,代码行数:101,代码来源:dnscache.c
示例6: main
int main() {
printtime("Call only", doit(1, 1, 1));
printtime("60-by-60-by-2", doit(60, 60, 2));
}
开发者ID:wavemoth,项目名称:wavemoth,代码行数:4,代码来源:matmulbench.c
示例7: main
int
main(int argc, char *argv[])
{
extern int __check_rhosts_file;
struct linger linger;
int ch, on = 1;
socklen_t fromlen;
struct sockaddr_storage from;
openlog("rshd", LOG_PID | LOG_ODELAY, LOG_DAEMON);
opterr = 0;
while ((ch = getopt(argc, argv, OPTIONS)) != -1)
switch (ch) {
case 'a':
check_all = 1;
break;
case 'l':
__check_rhosts_file = 0;
break;
case 'n':
keepalive = 0;
break;
#ifdef KERBEROS
case 'k':
use_kerberos = 1;
break;
case 'v':
vacuous = 1;
break;
#ifdef CRYPT
case 'x':
doencrypt = 1;
break;
#endif
#endif
case 'L':
log_success = 1;
break;
case '?':
default:
usage();
break;
}
argc -= optind;
argv += optind;
#ifdef KERBEROS
if (use_kerberos && vacuous) {
syslog(LOG_ERR, "only one of -k and -v allowed");
exit(2);
}
#ifdef CRYPT
if (doencrypt && !use_kerberos) {
syslog(LOG_ERR, "-k is required for -x");
exit(2);
}
#endif
#endif
fromlen = sizeof (from);
if (getpeername(STDIN_FILENO, (struct sockaddr *)&from, &fromlen) < 0) {
/* syslog(LOG_ERR, "getpeername: %m"); */
exit(1);
}
if (keepalive &&
setsockopt(STDIN_FILENO, SOL_SOCKET, SO_KEEPALIVE, (char *)&on,
sizeof(on)) < 0)
syslog(LOG_WARNING, "setsockopt (SO_KEEPALIVE): %m");
linger.l_onoff = 1;
linger.l_linger = 60; /* XXX */
if (setsockopt(STDIN_FILENO, SOL_SOCKET, SO_LINGER, (char *)&linger,
sizeof (linger)) < 0)
syslog(LOG_WARNING, "setsockopt (SO_LINGER): %m");
doit((struct sockaddr *)&from);
/* NOTREACHED */
exit(0);
}
开发者ID:repos-holder,项目名称:openbsd-patches,代码行数:81,代码来源:rshd.c
示例8: main
//.........这里部分代码省略.........
pid_t pid;
struct sigaction sa;
const char *s = NULL;
glite_renewal_core_context ctx = NULL;
progname = strrchr(argv[0],'/');
if (progname) progname++;
else progname = argv[0];
repository = EDG_WLPR_REPOSITORY_ROOT;
debug = 0;
while ((opt = getopt_long(argc, argv, "hvdr:c:C:V:AG:t:k:", opts, NULL)) != EOF)
switch (opt) {
case 'h': usage(ctx, progname); exit(0);
case 'v': fprintf(stdout, "%s:\t%s\n", progname, rcsid); exit(0);
case 'd': debug = 1; break;
case 'r': repository = optarg; break;
case 'c': condor_limit = atoi(optarg); break;
case 'C': cadir = optarg; break;
case 'V': vomsdir = optarg; break;
case 'A': voms_enabled = 1; break;
case 'G': vomsconf = optarg; break;
case 't': cert = optarg; break;
case 'k': key = optarg; break;
case '?': usage(ctx, progname); return 1;
}
if (optind < argc) {
usage(ctx, progname);
exit(1);
}
ret = glite_renewal_core_init_ctx(&ctx);
if (ret) {
fprintf(stderr, "Cannot initialize context\n");
exit(1);
}
if (debug) {
ctx->log_level = LOG_DEBUG;
ctx->log_dst = GLITE_RENEWAL_LOG_STDOUT;
}
ctx->voms_conf = vomsconf;
if (chdir(repository)) {
glite_renewal_log(ctx, LOG_ERR, "Cannot access repository directory %s (%s)",
repository, strerror(errno));
exit(1);
}
globus_module_activate(GLOBUS_GSI_CERT_UTILS_MODULE);
globus_module_activate(GLOBUS_GSI_PROXY_MODULE);
if (!debug) {
/* chdir ? */
if (daemon(1,0) == -1) {
perror("deamon()");
exit(1);
}
openlog(progname, LOG_PID, LOG_DAEMON);
}
if (cert)
setenv("X509_USER_CERT", cert, 1);
if (key)
setenv("X509_USER_KEY", key, 1);
if (cadir)
setenv("X509_CERT_DIR", cadir, 1);
s = getenv("GLITE_PR_TIMEOUT");
default_timeout = s ? atof(s) : GLITE_PR_TIMEOUT_DEFAULT;
memset(&sa,0,sizeof(sa));
sa.sa_handler = catchsig;
sigaction(SIGINT,&sa,NULL);
sigaction(SIGQUIT,&sa,NULL);
sigaction(SIGTERM,&sa,NULL);
sigaction(SIGCHLD,&sa,NULL);
sigaction(SIGPIPE,&sa,NULL);
ret = start_watchdog(ctx, &pid);
if (ret)
return 1;
umask(0177);
snprintf(sockname, sizeof(sockname), "%s%d",
DGPR_REG_SOCKET_NAME_ROOT, getuid());
/* XXX check that the socket is not already active */
ret = do_listen(ctx, sockname, &sock);
if (ret)
return 1;
glite_renewal_log(ctx, LOG_DEBUG, "Listening at %s", sockname);
ret = doit(ctx, sock);
close(sock);
return ret;
}
开发者ID:CESNET,项目名称:glite-legacy,代码行数:101,代码来源:renewd.c
示例9: main
//.........这里部分代码省略.........
exit(0);
}
if (config_file == NULL) {
asprintf(&config_file, "%s/kdc.conf", hdb_db_dir(context));
if (config_file == NULL)
errx(1, "out of memory");
}
ret = krb5_prepend_config_files_default(config_file, &files);
if (ret)
krb5_err(context, 1, ret, "getting configuration files");
ret = krb5_set_config_files(context, files);
krb5_free_config_files(files);
if (ret)
krb5_err(context, 1, ret, "reading configuration files");
if(realm_str)
krb5_set_default_realm(context, realm_str);
krb5_openlog (context, "kpasswdd", &log_facility);
krb5_set_warn_dest(context, log_facility);
if (port_str != NULL) {
struct servent *s = roken_getservbyname (port_str, "udp");
if (s != NULL)
port = s->s_port;
else {
char *ptr;
port = strtol (port_str, &ptr, 10);
if (port == 0 && ptr == port_str)
krb5_errx (context, 1, "bad port `%s'", port_str);
port = htons(port);
}
} else
port = krb5_getportbyname (context, "kpasswd", "udp", KPASSWD_PORT);
ret = krb5_kt_register(context, &hdb_kt_ops);
if(ret)
krb5_err(context, 1, ret, "krb5_kt_register");
ret = krb5_kt_resolve(context, keytab_str, &keytab);
if(ret)
krb5_err(context, 1, ret, "%s", keytab_str);
kadm5_setup_passwd_quality_check (context, check_library, check_function);
for (i = 0; i < policy_libraries.num_strings; i++) {
ret = kadm5_add_passwd_quality_verifier(context,
policy_libraries.strings[i]);
if (ret)
krb5_err(context, 1, ret, "kadm5_add_passwd_quality_verifier");
}
ret = kadm5_add_passwd_quality_verifier(context, NULL);
if (ret)
krb5_err(context, 1, ret, "kadm5_add_passwd_quality_verifier");
explicit_addresses.len = 0;
if (addresses_str.num_strings) {
int j;
for (j = 0; j < addresses_str.num_strings; ++j)
add_one_address (addresses_str.strings[j], j == 0);
free_getarg_strings (&addresses_str);
} else {
char **foo = krb5_config_get_strings (context, NULL,
"kdc", "addresses", NULL);
if (foo != NULL) {
add_one_address (*foo++, TRUE);
while (*foo)
add_one_address (*foo++, FALSE);
}
}
#ifdef HAVE_SIGACTION
{
struct sigaction sa;
sa.sa_flags = 0;
sa.sa_handler = sigterm;
sigemptyset(&sa.sa_mask);
sigaction(SIGINT, &sa, NULL);
sigaction(SIGTERM, &sa, NULL);
}
#else
signal(SIGINT, sigterm);
signal(SIGTERM, sigterm);
#endif
pidfile(NULL);
return doit (keytab, port);
}
开发者ID:randombit,项目名称:hacrypto,代码行数:101,代码来源:kpasswdd.c
示例10: main
开发者ID:GarysExperiments2014,项目名称:cryptobits,代码行数:3,代码来源:crypt_timing.c
示例11: rdft2_apply
static void rdft2_apply(dofft_closure *k_,
bench_complex *in, bench_complex *out)
{
dofft_rdft2_closure *k = (dofft_rdft2_closure *)k_;
bench_problem *p = k->p;
bench_tensor *totalsz, *pckdsz, *totalsz_swap, *pckdsz_swap;
bench_tensor *probsz2, *totalsz2, *pckdsz2;
bench_tensor *probsz2_swap, *totalsz2_swap, *pckdsz2_swap;
bench_real *ri, *ii, *ro, *io;
int n2, totalscale;
totalsz = tensor_append(p->vecsz, p->sz);
pckdsz = verify_pack(totalsz, 2);
n2 = tensor_sz(totalsz);
if (FINITE_RNK(p->sz->rnk) && p->sz->rnk > 0)
n2 = (n2 / p->sz->dims[p->sz->rnk - 1].n) *
(p->sz->dims[p->sz->rnk - 1].n / 2 + 1);
ri = (bench_real *) p->in;
ro = (bench_real *) p->out;
if (p->sz->rnk > 0) {
probsz2 = tensor_copy_sub(p->sz, p->sz->rnk - 1, 1);
totalsz2 = tensor_copy_sub(totalsz, 0, totalsz->rnk - 1);
pckdsz2 = tensor_copy_sub(pckdsz, 0, pckdsz->rnk - 1);
}
else {
probsz2 = mktensor(0);
totalsz2 = tensor_copy(totalsz);
pckdsz2 = tensor_copy(pckdsz);
}
totalsz_swap = tensor_copy_swapio(totalsz);
pckdsz_swap = tensor_copy_swapio(pckdsz);
totalsz2_swap = tensor_copy_swapio(totalsz2);
pckdsz2_swap = tensor_copy_swapio(pckdsz2);
probsz2_swap = tensor_copy_swapio(probsz2);
/* confusion: the stride is the distance between complex elements
when using interleaved format, but it is the distance between
real elements when using split format */
if (p->split) {
ii = p->ini ? (bench_real *) p->ini : ri + n2;
io = p->outi ? (bench_real *) p->outi : ro + n2;
totalscale = 1;
} else {
ii = p->ini ? (bench_real *) p->ini : ri + 1;
io = p->outi ? (bench_real *) p->outi : ro + 1;
totalscale = 2;
}
if (p->sign < 0) { /* R2HC */
int N, vN, i;
cpyr(&c_re(in[0]), pckdsz, ri, totalsz);
doit(1, p);
if (k->k.recopy_input)
cpyr(ri, totalsz_swap, &c_re(in[0]), pckdsz_swap);
cpyhc2(ro, io, probsz2, totalsz2, totalscale,
&c_re(out[0]), &c_im(out[0]), pckdsz2);
N = tensor_sz(p->sz);
vN = tensor_sz(p->vecsz);
for (i = 0; i < vN; ++i)
mkhermitian(out + i*N, p->sz->rnk, p->sz->dims, 1);
}
else { /* HC2R */
icpyhc2(ri, ii, probsz2, totalsz2, totalscale,
&c_re(in[0]), &c_im(in[0]), pckdsz2);
doit(1, p);
if (k->k.recopy_input)
cpyhc2(ri, ii, probsz2_swap, totalsz2_swap, totalscale,
&c_re(in[0]), &c_im(in[0]), pckdsz2_swap);
mkreal(out, tensor_sz(pckdsz));
cpyr(ro, totalsz, &c_re(out[0]), pckdsz);
}
tensor_destroy(totalsz);
tensor_destroy(pckdsz);
tensor_destroy(totalsz_swap);
tensor_destroy(pckdsz_swap);
tensor_destroy(probsz2);
tensor_destroy(totalsz2);
tensor_destroy(pckdsz2);
tensor_destroy(probsz2_swap);
tensor_destroy(totalsz2_swap);
tensor_destroy(pckdsz2_swap);
}
开发者ID:exic,项目名称:last.fm-dbus,代码行数:85,代码来源:verify-rdft2.c
示例12: main
//.........这里部分代码省略.........
eight = 1;
break;
case 'D':
Dflag = 1;
break;
case 'E':
noescape = 1;
break;
case 'd':
dflag = 1;
break;
case 'e':
noescape = 0;
escapechar = getescape(optarg);
break;
case 'i':
if (getuid() != 0)
errx(1, "-i user: permission denied");
localname = optarg;
break;
case 'l':
user = optarg;
break;
case '?':
default:
usage();
}
optind += argoff;
/* if haven't gotten a host yet, do so */
if (!host && !(host = argv[optind++]))
usage();
if (argv[optind])
usage();
if (!(pw = getpwuid(uid = getuid())))
errx(1, "unknown user id");
if (!user)
user = pw->pw_name;
if (!localname)
localname = pw->pw_name;
sp = NULL;
sp = getservbyname("login", "tcp");
if (sp == NULL)
errx(1, "login/tcp: unknown service");
if ((p = getenv("TERM")) != NULL)
(void)strlcpy(term, p, sizeof(term));
len = strlen(term);
if (len < (sizeof(term) - 1) && tcgetattr(0, &tty) == 0) {
/* start at 2 to include the / */
for (ospeed = i = cfgetospeed(&tty), len2 = 2; i > 9; len2++)
i /= 10;
if (len + len2 < sizeof(term))
(void)snprintf(term + len, len2 + 1, "/%d", ospeed);
}
(void)get_window_size(0, &winsize);
(void)signal(SIGPIPE, lostpeer);
/* will use SIGUSR1 for window size hack, so hold it off */
omask = sigblock(sigmask(SIGURG) | sigmask(SIGUSR1));
/*
* We set SIGURG and SIGUSR1 below so that an
* incoming signal will be held pending rather than being
* discarded. Note that these routines will be ready to get
* a signal by the time that they are unblocked below.
*/
(void)signal(SIGURG, copytochild);
(void)signal(SIGUSR1, writeroob);
rem = rcmd_af(&host, sp->s_port, localname, user, term, 0, family);
if (rem < 0)
exit(1);
if (dflag &&
setsockopt(rem, SOL_SOCKET, SO_DEBUG, &one, sizeof(one)) < 0)
warn("setsockopt");
if (Dflag &&
setsockopt(rem, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one)) < 0)
warn("setsockopt NODELAY (ignored)");
sslen = sizeof(ss);
one = IPTOS_LOWDELAY;
if (getsockname(rem, (struct sockaddr *)&ss, &sslen) == 0 &&
ss.ss_family == AF_INET) {
if (setsockopt(rem, IPPROTO_IP, IP_TOS, (char *)&one,
sizeof(int)) < 0)
warn("setsockopt TOS (ignored)");
} else
if (ss.ss_family == AF_INET)
warn("setsockopt getsockname failed");
(void)setuid(uid);
doit(omask);
/*NOTREACHED*/
}
开发者ID:JabirTech,项目名称:Source,代码行数:101,代码来源:rlogin.c
示例13: main
//.........这里部分代码省略.........
"(-%c), exiting", optopt);
exit(EXIT_FAILURE);
}
}
if (use_auth == KRB5_RECVAUTH_V5) {
status = krb5_init_context(&krb_context);
if (status) {
syslog(LOG_ERR, "Error initializing krb5: %s",
error_message(status));
exit(EXIT_FAILURE);
}
if (realm != NULL)
(void) krb5_set_default_realm(krb_context, realm);
if (keytab_file != NULL) {
if ((status = krb5_kt_resolve(krb_context,
keytab_file,
&keytab))) {
com_err(argv[0],
status,
"while resolving srvtab file %s",
keytab_file);
exit(EXIT_FAILURE);
}
}
}
#ifdef DEBUG
if (debug_port) {
int s;
struct sockaddr_in sin;
if ((s = socket(AF_INET, SOCK_STREAM, PF_UNSPEC)) < 0) {
fatalperror(STDERR_FILENO, "Error in socket");
}
(void) memset((char *)&sin, 0, sizeof (sin));
sin.sin_family = AF_INET;
sin.sin_port = htons(debug_port);
sin.sin_addr.s_addr = INADDR_ANY;
(void) setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
(char *)&on, sizeof (on));
if ((bind(s, (struct sockaddr *)&sin, sizeof (sin))) < 0) {
fatalperror(STDERR_FILENO, "bind error");
}
if ((listen(s, 5)) < 0) {
fatalperror(STDERR_FILENO, "listen error");
}
fromlen = sizeof (from);
if ((fd = accept(s, (struct sockaddr *)&from, &fromlen)) < 0) {
fatalperror(STDERR_FILENO, "accept error");
}
(void) close(s);
} else
#endif /* DEBUG */
{
if (!issock(STDIN_FILENO))
fatal(STDIN_FILENO,
"stdin is not a socket file descriptor");
fd = STDIN_FILENO;
}
fromlen = sizeof (from);
if (getpeername(fd, (struct sockaddr *)&from, &fromlen) < 0)
fatalperror(STDERR_FILENO, "getpeername");
if (audit_rlogin_settid(fd)) /* set terminal ID */
fatalperror(STDERR_FILENO, "audit");
if (setsockopt(fd, SOL_SOCKET, SO_KEEPALIVE, (char *)&on,
sizeof (on)) < 0)
syslog(LOG_WARNING, "setsockopt(SO_KEEPALIVE): %m");
if (!VALID_CHKSUM(chksum_flag)) {
syslog(LOG_ERR, "Configuration error: mutually exclusive "
"options specified (-c and -i)");
fatal(fd, "Checksums are required and ignored (-c and -i);"
"these options are mutually exclusive - check "
"the documentation.");
}
ourlen = sizeof (ouraddr);
if (getsockname(fd, (struct sockaddr *)&ouraddr, &ourlen) == -1) {
syslog(LOG_ERR, "getsockname error: %m");
exit(EXIT_FAILURE);
}
if (tos != -1 &&
ouraddr.ss_family != AF_INET6 &&
setsockopt(fd, IPPROTO_IP, IP_TOS, (char *)&tos,
sizeof (tos)) < 0 &&
errno != ENOPROTOOPT) {
syslog(LOG_ERR, "setsockopt(IP_TOS %d): %m", tos);
}
doit(fd, &from, krb_context, encr_flag, keytab);
return (0);
}
开发者ID:AlainODea,项目名称:illumos-gate,代码行数:101,代码来源:in.rlogind.c
示例14: main
//.........这里部分代码省略.........
usage();
/* NOTREACHED */
}
}
argc -= optind;
argv += optind;
if (argc > 0) {
usage();
/* NOT REACHED */
}
#ifdef _SC_CRAY_SECURE_SYS
secflag = sysconf(_SC_CRAY_SECURE_SYS);
/*
* Get socket's security label
*/
if (secflag) {
socklen_t szss = sizeof(ss);
int sock_multi;
socklen_t szi = sizeof(int);
memset(&dv, 0, sizeof(dv));
if (getsysv(&sysv, sizeof(struct sysv)) != 0)
fatalperror(net, "getsysv");
/*
* Get socket security label and set device values
* {security label to be set on ttyp device}
*/
#ifdef SO_SEC_MULTI /* 8.0 code */
if ((getsockopt(0, SOL_SOCKET, SO_SECURITY,
(void *)&ss, &szss) < 0) ||
(getsockopt(0, SOL_SOCKET, SO_SEC_MULTI,
(void *)&sock_multi, &szi) < 0))
fatalperror(net, "getsockopt");
else {
dv.dv_actlvl = ss.ss_actlabel.lt_level;
dv.dv_actcmp = ss.ss_actlabel.lt_compart;
if (!sock_multi) {
dv.dv_minlvl = dv.dv_maxlvl = dv.dv_actlvl;
dv.dv_valcmp = dv.dv_actcmp;
} else {
dv.dv_minlvl = ss.ss_minlabel.lt_level;
dv.dv_maxlvl = ss.ss_maxlabel.lt_level;
dv.dv_valcmp = ss.ss_maxlabel.lt_compart;
}
dv.dv_devflg = 0;
}
#else /* SO_SEC_MULTI */ /* 7.0 code */
if (getsockopt(0, SOL_SOCKET, SO_SECURITY,
(void *)&ss, &szss) >= 0) {
dv.dv_actlvl = ss.ss_slevel;
dv.dv_actcmp = ss.ss_compart;
dv.dv_minlvl = ss.ss_minlvl;
dv.dv_maxlvl = ss.ss_maxlvl;
dv.dv_valcmp = ss.ss_maxcmp;
}
#endif /* SO_SEC_MULTI */
}
#endif /* _SC_CRAY_SECURE_SYS */
openlog("ddtelnetd", LOG_PID | LOG_ODELAY, LOG_LOCAL2);
sa_size = sizeof (__ss);
if (getpeername(STDIN_FILENO, sa, &sa_size) < 0) {
fprintf(stderr, "%s: ", progname);
perror("getpeername");
_exit(1);
}
if (keepalive &&
setsockopt(STDIN_FILENO, SOL_SOCKET, SO_KEEPALIVE,
(void *)&on, sizeof (on)) < 0) {
syslog(LOG_WARNING, "setsockopt (SO_KEEPALIVE): %m");
}
#if defined(IPPROTO_IP) && defined(IP_TOS) && defined(HAVE_SETSOCKOPT)
{
# ifdef HAVE_GETTOSBYNAME
struct tosent *tp;
if (tos < 0 && (tp = gettosbyname("telnet", "tcp")))
tos = tp->t_tos;
# endif
if (tos < 0)
tos = 020; /* Low Delay bit */
if (tos
&& sa->sa_family == AF_INET
&& (setsockopt(STDIN_FILENO, IPPROTO_IP, IP_TOS,
(void *)&tos, sizeof(tos)) < 0)
&& (errno != ENOPROTOOPT) )
syslog(LOG_WARNING, "setsockopt (IP_TOS): %m");
}
#endif /* defined(IPPROTO_IP) && defined(IP_TOS) */
net = STDIN_FILENO;
doit(sa, sa_size);
/* NOTREACHED */
return 0;
} /* end of main */
开发者ID:hlyytine,项目名称:daydream,代码行数:101,代码来源:telnetd.c
示例15: parse_json
// json = object
int parse_json(const char *s, int s_len, struct json_token *arr, int arr_len) {
struct frozen frozen = { s + s_len, s, arr, arr_len, 0, 0 };
TRY(doit(&frozen));
return frozen.cur - s;
}
开发者ID:Kira-sempai,项目名称:frozen,代码行数:6,代码来源:frozen.c
示例16: main
int
main(int argc, char *argv[])
{
int msize;
char buf[BUFSIZ+1];
int i;
char hostname[256];
int hflag;
struct rlimit rl;
if (argc < 2)
usage();
if (getrlimit(RLIMIT_NOFILE, &rl) == 0) {
rl.rlim_cur = (rl.rlim_max < MAX_THREADS ?
rl.rlim_max : MAX_THREADS);
(void) setrlimit(RLIMIT_NOFILE, &rl);
(void) enable_extended_FILE_stdio(-1, -1);
}
(void) gethostname(hostname, sizeof (hostname));
init_who();
msize = snprintf(buf, sizeof (buf), "From %[email protected]%s: ", who, hostname);
while ((i = getchar()) != EOF) {
if (msize >= (sizeof (buf) - 1)) {
(void) fprintf(stderr, "Message too long\n");
exit(1);
}
buf[msize++] = i;
}
buf[msize] = '\0';
path = buf;
hflag = 1;
while (argc > 1) {
if (argv[1][0] == '-') {
switch (argv[1][1]) {
case 'h':
hflag = 1;
break;
case 'n':
hflag = 0;
break;
case 'q':
qflag = 1;
break;
default:
usage();
break;
}
argc--;
argv++;
continue;
}
if (hflag) {
doit(argv[1]);
} else {
char *machine, *user, *domain;
(void) setnetgrent(argv[1]);
while (getnetgrent(&machine, &user, &domain)) {
if (machine)
doit(machine);
else
doall();
}
(void) endnetgrent();
}
argc--;
argv++;
}
thr_exit(NULL);
return (0);
}
开发者ID:andreiw,项目名称:polaris,代码行数:75,代码来源:rwall.c
示例17: main
int
main(int argc, char **argv)
{
doit();
return execv("/sbin/init2", argv);
}
开发者ID:jhatala,项目名称:init0,代码行数:6,代码来源:init0.c
示例18: main
void main(){
printf("%d\n",doit(max,1,2));
}
开发者ID:freedream520,项目名称:c-language-case,代码行数:3,代码来源:5-10.c
示例19: main
int main(int argc, char *argv[]){
#ifdef RLIMIT_AS
doit(RLIMIT_AS);
#endif
doit(RLIMIT_CORE);
doit(RLIMIT_CPU);
doit(RLIMIT_DATA);
doit(RLIMIT_FSIZE);
#ifdef RLIMIT_LOCKS
doit(RLIMIT_LOCKS);
#endif
#ifdef RLIMIT_MEMLOCK
doit(RLIMIT_MEMLOCK);
#endif
doit(RLIMIT_NOFILE);
#ifdef RLIMIT_NPROC
doit(RLIMIT_NPROC);
#endif
#ifdef RLIMIT_RSS
doit(RLIMIT_RSS);
#endif
#ifdef RLIMIT_SBSIZE
doit(RLIMIT_SBSIZE);
#endif
doit(RLIMIT_STACK);
#ifdef RLIMIT_VMEM
doit(RLIMIT_VMEM);
#endif
exit(0);
}/*main*/
开发者ID:Heuristack,项目名称:Productivity,代码行数:30,代码来源:routine010.c
示例20: main
int main(void){
#ifdef RLIMIT_AS
doit(RLIMIT_AS);
#endif
doit(RLIMIT_CORE);
doit(RLIMIT_CPU);
doit(RLIMIT_DATA);
doit(RLIMIT_FSIZE);
#ifdef RLIMIT_MEMLOCK
doit(RLIMIT_MEMLOCK);
#endif
#ifdef RLIMIT_MSGQUEUE
doit(RLIMIT_MSGQUEUE);
#endif
#ifdef RLIMIT_NICE
doit(RLIMIT_NICE);
#endif
doit(RLIMIT_NOFILE);
#ifdef RLIMIT_NPROC
doit(RLIMIT_NPROC);
#endif
#ifdef RLIMIT_NPTS
doit(RLIMIT_NPTS);
#endif
#ifdef RLIMIT_RSS
doit(RLIMIT_RSS);
#endif
#ifdef RLIMIT_SBSIZE
doit(RLIMIT_SBSIZE);
#endif
#ifdef RLIMIT_SIGPENDING
doit(RLIMIT_SIGPENDING);
#endif
doit(RLIMIT_STACK);
#ifdef RLIMIT_SWAP
doit(RLIMIT_SWAP)
#endif
#ifdef RLIMIT_VMEM
doit(RLIMIT_VMEM);
#endif
exit(0);
}
开发者ID:njutony1991,项目名称:apueExamples-Exercises,代码行数:56,代码来源:7_16.c
注:本文中的doit函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论