亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? remlib.c

?? vxwork源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
	*fd2p = accept (stdErrSocket, (struct sockaddr *)&mySin, &mySinLen);	if (*fd2p == ERROR)	    {	    close (sd);	    close (stdErrSocket);	    return (ERROR);	    }	close (stdErrSocket);	}    if (send (sd, localUser, strlen(localUser) + 1, 0) <= 0)	{	close (sd);	if (fd2p != NULL)	    close (*fd2p);	return (ERROR);	}    if (send (sd, remoteUser, strlen(remoteUser) + 1, 0) <= 0)	{	close (sd);	if (fd2p != NULL)	    close (*fd2p);	return (ERROR);	}    if (send (sd, cmd, strlen(cmd) + 1, 0) <= 0)	{	close (sd);	if (fd2p != NULL)	    close (*fd2p);	return (ERROR);	}    /* bsd documentation for rshd is incorrect - null byte is actually       received on stdin socket */    if (recv (sd, &c, 1, 0) <= 0)	{	close (sd);	if (fd2p != NULL)	    close (*fd2p);	return (ERROR);	}    if (c != 0)	{	/* error will come in on stdin socket */	while (recv (sd, &c, 1, 0) == 1)	    {	    write (STD_ERR, &c, 1);	    if (c == '\n')		break;	    }	errnoSet (S_remLib_RSH_ERROR);	close (sd);	if (fd2p != NULL)	    close (*fd2p);	return (ERROR);	}    return (sd);    }/********************************************************************************* rresvport - open a socket with a privileged port bound to it** This routine opens a socket with a privileged port bound to it.* It is analogous to the UNIX routine rresvport().** RETURNS* A socket descriptor, or ERROR if either the socket cannot be opened or all* ports are in use.** SEE ALSO: UNIX BSD 4.3 manual entry for rresvport()*/int rresvport    (    FAST int *alport    /* port number to initially try */    )    {    struct sockaddr_in sin;    int sd;    sin.sin_family 	= AF_INET;    sin.sin_addr.s_addr = 0;    sin.sin_port	= htons (*alport);    if ((sd = socket (AF_INET, SOCK_STREAM, 0)) == ERROR)	return (ERROR);    if (bindresvport (sd, &sin) < 0)	{	close (sd);	return (ERROR);	}    *alport = ntohs (sin.sin_port);    return (sd);    }/********************************************************************************* remCurIdGet - get the current user name and password** This routine gets the user name and password currently used for remote * host access privileges and copies them to <user> and <passwd>.  Either* parameter can be initialized to NULL, and the corresponding item will not* be passed.** RETURNS: N/A** SEE ALSO: iam(), whoami()*/void remCurIdGet    (    char *user,         /* where to return current user name */    char *passwd        /* where to return current password */    )    {    if (user != NULL)	strcpy (user, remUser);    if (passwd != NULL)	strcpy (passwd, remPasswd);    }/********************************************************************************* remCurIdSet - set the remote user name and password** This routine specifies the user name that will have access privileges* on the remote machine.  The user name must exist in the remote* machine's \f3/etc/passwd\fP, and if it has been assigned a password,* the password must be specified in <newPasswd>.** Either parameter can be NULL, and the corresponding item will not be set.** The maximum length of the user name and the password is MAX_IDENTITY_LEN* (defined in remLib.h).** NOTE: A more convenient version of this routine is iam(), which is intended* to be used from the shell.** RETURNS: OK, or ERROR if the name or password is too long.** SEE ALSO: iam(), whoami()*/STATUS remCurIdSet    (    char *newUser,      /* user name to use on remote */    char *newPasswd     /* password to use on remote (NULL = none) */    )    {    if (((newUser != NULL) && (strlen (newUser) > MAX_IDENTITY_LEN-1)) ||        ((newPasswd != NULL) && (strlen (newPasswd) > MAX_IDENTITY_LEN-1)))	{	errnoSet (S_remLib_IDENTITY_TOO_BIG);	return (ERROR);	}    if (newUser == NULL)	remUser[0] = EOS;    else	strcpy (remUser, newUser);    if (newPasswd == NULL)	remPasswd[0] = EOS;    else	strcpy (remPasswd, newPasswd);    return (OK);    }/********************************************************************************* iam - set the remote user name and password** This routine specifies the user name that will have access privileges* on the remote machine.  The user name must exist in the remote* machine's \f3/etc/passwd\fP, and if it has been assigned a password,* the password must be specified in <newPasswd>.** Either parameter can be NULL, and the corresponding item will not be set.** The maximum length of the user name and the password is MAX_IDENTITY_LEN* (defined in remLib.h).** NOTE: This routine is a more convenient version of remCurIdSet() and is* intended to be used from the shell.** RETURNS: OK, or ERROR if the call fails.** SEE ALSO: whoami(), remCurIdGet(), remCurIdSet()*/STATUS iam    (    char *newUser,      /* user name to use on remote */    char *newPasswd     /* password to use on remote (NULL = none) */    )    {    if (remCurIdSet (newUser, newPasswd) != OK)	{	printErr ("User name or password too long\n");	return (ERROR);	}    return (OK);    }/********************************************************************************* whoami - display the current remote identity** This routine displays the user name currently used for remote machine* access.  The user name is set with iam() or remCurIdSet().** RETURNS: N/A** SEE ALSO: iam(), remCurIdGet(), remCurIdSet()*/void whoami (void)    {    char user [MAX_IDENTITY_LEN];    remCurIdGet (user, (char *) NULL);    printf ("%s\n", user);    }/********************************************************************************* bindresvport - bind a socket to a privileged IP port** This routine picks a port number between 600 and 1023 that is not being* used by any other programs and binds the socket passed as <sd> to that* port.  Privileged IP ports (numbers between and including 0 and 1023) are* reserved for privileged programs.** RETURNS:* OK, or ERROR if the address family specified in <sin> is not supported or* the call fails.*/STATUS bindresvport    (    int                         sd,     /* socket to be bound */    FAST struct sockaddr_in     *sin    /* socket address -- value/result */    )    {    FAST int		startPort;    FAST int		port;    struct sockaddr_in 	myaddr;    if (sin == (struct sockaddr_in *)0)	{	sin = &myaddr;	bzero((char *) sin, sizeof (*sin));	sin->sin_family = AF_INET;	}    else if (sin->sin_family != AF_INET)	{	errnoSet (EPFNOSUPPORT);	return (ERROR);	}    if (ntohs (sin->sin_port) == 0)	sin->sin_port = htons (remLastResvPort);    port = startPort = ntohs (sin->sin_port);    FOREVER	{	--port;	if (port <= IPPORT_RESERVED - 400)	    port = IPPORT_RESERVED - 1;	if (port == startPort)	    {	    errnoSet (S_remLib_ALL_PORTS_IN_USE);	    return (ERROR);	    }	sin->sin_port = htons (port);	if (bind (sd, (struct sockaddr *) sin, sizeof (*sin)) != ERROR)	    {	    remLastResvPort = port;	    return (OK);	    }	}    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久美女高清视频| 日韩精品一区二区在线| 久久国内精品自在自线400部| 中文子幕无线码一区tr| 欧美日韩亚洲国产综合| 国产在线视视频有精品| 亚洲国产一区视频| 国产日韩欧美综合一区| 制服丝袜激情欧洲亚洲| 成人av资源在线| 精品在线免费观看| 亚洲成人免费视| 亚洲少妇最新在线视频| 久久一二三国产| 欧美日本一区二区三区四区| 不卡av在线网| 国产激情视频一区二区在线观看 | 精品国产91乱码一区二区三区| 9久草视频在线视频精品| 激情都市一区二区| 日韩av中文在线观看| 亚洲综合激情另类小说区| 中文字幕亚洲区| 国产精品色在线| 久久综合久久久久88| 日韩欧美美女一区二区三区| 99视频有精品| 高清成人在线观看| 色婷婷激情综合| 国产成人一级电影| 韩国一区二区在线观看| 男女激情视频一区| 欧美精品九九99久久| 色呦呦一区二区三区| 99国产精品久久久久久久久久久| 国产一区二区影院| 久久成人久久鬼色| 轻轻草成人在线| 婷婷亚洲久悠悠色悠在线播放| 亚洲一二三四区不卡| 一区二区三区产品免费精品久久75 | 精品无码三级在线观看视频| 美女诱惑一区二区| 日韩va欧美va亚洲va久久| 日韩和欧美一区二区| 日韩中文字幕91| 七七婷婷婷婷精品国产| 久久99国内精品| 国产一区二区三区蝌蚪| 国产精品性做久久久久久| 国产精品一区二区你懂的| 国产成人综合在线播放| 国产suv精品一区二区6| thepron国产精品| 色综合天天综合网天天狠天天| 色综合久久综合网97色综合 | 欧美区一区二区三区| 欧美另类z0zxhd电影| 日韩亚洲欧美一区二区三区| 久久综合九色欧美综合狠狠| 久久精品一区二区三区不卡| 国产日韩三级在线| 亚洲欧美日韩中文字幕一区二区三区 | 日韩欧美一二三| 久久综合久久99| 成人免费在线视频观看| 一区二区三区高清在线| 热久久一区二区| 国产精品伊人色| 日本精品视频一区二区三区| 欧美男女性生活在线直播观看| 日韩欧美国产一区二区在线播放| 久久精品免视看| 亚洲人成在线播放网站岛国| 日韩精品每日更新| 国产成人一区在线| 欧美性受xxxx黑人xyx| 日韩天堂在线观看| 国产精品区一区二区三区| 亚洲免费观看高清完整版在线 | 国产91精品精华液一区二区三区| 91美女片黄在线| 337p亚洲精品色噜噜| 中文无字幕一区二区三区| 亚洲综合av网| 国产精品一区二区三区乱码| 欧美视频你懂的| 国产欧美一区二区三区鸳鸯浴| 亚洲欧美日韩在线| 欧美久久一区二区| 日韩一区国产二区欧美三区| 色哟哟日韩精品| 日韩一区二区三免费高清| 久久精品一区二区三区不卡| 亚洲一区二区成人在线观看| 韩国一区二区在线观看| 欧美亚洲一区二区在线| 久久久久久久精| 亚洲国产一区二区视频| 国产白丝网站精品污在线入口| 69久久99精品久久久久婷婷| 国产精品视频线看| 秋霞电影一区二区| 91久久国产综合久久| 久久久精品综合| 日韩avvvv在线播放| 99精品热视频| 久久久国产综合精品女国产盗摄| 亚洲国产中文字幕| 91一区二区在线观看| 久久看人人爽人人| 蜜桃免费网站一区二区三区| 色婷婷久久99综合精品jk白丝| 国产日韩欧美综合在线| 青青草视频一区| 欧美午夜电影一区| 中文字幕一区二区三中文字幕| 午夜电影一区二区三区| 国产宾馆实践打屁股91| 7777女厕盗摄久久久| 亚洲精品日韩专区silk| av不卡在线播放| 中文在线免费一区三区高中清不卡| 麻豆精品久久久| 91精品国产免费久久综合| 亚洲成人综合在线| 91成人免费网站| 亚洲三级在线免费观看| 成人毛片视频在线观看| 欧美激情资源网| 国产91色综合久久免费分享| 国产精品美女www爽爽爽| 久久97超碰色| 日韩一区国产二区欧美三区| 日av在线不卡| www精品美女久久久tv| 狠狠色伊人亚洲综合成人| 日韩欧美一区在线观看| 日本欧美在线观看| 日韩一区二区影院| 美女视频第一区二区三区免费观看网站| 欧美亚日韩国产aⅴ精品中极品| 一区二区三区在线免费播放| 日本精品视频一区二区三区| 亚洲第一在线综合网站| 91精品国产日韩91久久久久久| 免费在线看成人av| 成人一级视频在线观看| 美脚の诱脚舐め脚责91| 99国产精品久久久久久久久久| 国产精品电影院| 色吧成人激情小说| 亚洲国产精品久久久久秋霞影院| 欧美精品免费视频| 韩国av一区二区| 国产欧美日韩另类视频免费观看| 粉嫩aⅴ一区二区三区四区| 国产精品午夜在线观看| 91色.com| 日韩高清不卡在线| 久久一区二区三区国产精品| 成人av午夜电影| 亚洲综合激情另类小说区| 欧美一区二区三区四区久久| 极品少妇xxxx精品少妇偷拍| 国产日韩欧美精品一区| 91麻豆swag| 日本美女一区二区三区| 久久久久久久综合狠狠综合| 99久精品国产| 午夜电影一区二区三区| 久久精品这里都是精品| 色婷婷久久久亚洲一区二区三区 | 国产精品久久三| 欧美色图激情小说| 极品尤物av久久免费看| 成人欧美一区二区三区视频网页| 欧美日韩一区三区四区| 久草这里只有精品视频| 国产精品久久久久三级| 欧美日韩二区三区| 国产成人丝袜美腿| 夜夜嗨av一区二区三区中文字幕| 91精品欧美福利在线观看| 国产成人精品一区二| 亚洲成人av一区二区三区| 久久久五月婷婷| 欧美日韩中字一区| 国产精品中文有码| 亚洲国产中文字幕在线视频综合| 久久久综合精品| 欧美日韩精品一二三区| 丁香一区二区三区| 三级一区在线视频先锋 | 欧美电视剧在线观看完整版| 色综合天天综合网天天看片| 国产麻豆日韩欧美久久| 五月婷婷久久丁香| 1000精品久久久久久久久| 日韩视频一区二区在线观看|