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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? kshmain.c

?? linux內(nèi)核調(diào)試小工具.可以讀寫指定地址上的數(shù)據(jù)
?? C
字號:
#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <signal.h> #ifdef WIN32#include <winsock.h>#define     WINSOCK_VERSION   MAKEWORD(2,0) #else#include <linux/types.h>#include <sys/select.h>#include <sys/socket.h>#include <linux/in.h>#endif#include "kshmain.h"int inet_pton(int af, const char *src, void *dst);static int inet_pton4(const char *src, u_char *dst);#define EAFNOSUPPORT 47#define INADDRSZ 4#define KSH_SVR_PORT 7915int still_loop = 1;extern int errno;int ksh_connect(char * ipaddr, int port){    int socket_fd;     struct sockaddr_in sin;    int error = 0;#ifdef WIN32    WSADATA wsaData;    if(WSAStartup(WINSOCK_VERSION,&wsaData))     {        printf("Winsock init failed!");        return -1;    }    #endif     sin.sin_family	     = AF_INET;    sin.sin_addr.s_addr = inet_addr(ipaddr);    sin.sin_port         = htons(KSH_SVR_PORT);    /* Create the socket.  */     socket_fd = socket (AF_INET, SOCK_STREAM, 0);     if(socket_fd <= 0){        printf("create socket failed, socket_fd = %d\n", socket_fd);        return -1;    }    /* Connect the socket.   */    error = connect (socket_fd, (struct sockaddr*)&sin, sizeof(struct sockaddr_in));     if(error){        printf("connect failed, error = %d\n", error);        return -1;    }else{        printf("connect ok\n");    }            return socket_fd;     }int main(int argc, char *argv[]){    char usr_input[MAX_CMD_LEN] = {0};    fd_set fds, stdin_fd;    int socket_fd = -1, max_fd;    struct timeval timeout;    int res, ipaddr;        char buffer[4050];        if(argc != 2)    {        printf("usage  : ksh IP\n");        printf("example: ksh 192.168.1.1\n");        return -1;    }         if(inet_pton(AF_INET, argv[1], &ipaddr) <= 0 ){        printf("Invalid IP address!\n");        return -1;    }        FD_ZERO(&fds);    FD_ZERO(&stdin_fd);    socket_fd = ksh_connect(argv[1], KSH_SVR_PORT);    if(socket_fd < 0){        return -1;    }             printf("%s", CLI_PROMPT);        while(still_loop)    {        FD_ZERO(&fds);        FD_SET(socket_fd, &fds);        FD_SET(0, &stdin_fd);             	timeout.tv_sec = 0;    	timeout.tv_usec = 0;                   	/*linux和win下的select函數(shù)區(qū)別很大         *win下的select只能用于socket fd         *linux下的select能用于各種fd         */        res = select(max_fd+1, &fds, NULL, NULL, &timeout);        if(res > 0){            if(FD_ISSET(socket_fd, &fds)){                /*read socket*/                int len = recv(socket_fd, buffer, sizeof(buffer), 0);                if(len > 0 && len < 4050){                    buffer[len] = 0;                    printf("%s\n", buffer);                }else{                    printf("something error happened, exit ksh\n");                    break;                }                printf("%s", CLI_PROMPT);            }        }        /*判斷鍵盤是否有輸入, 串口終端怎么辦?*/        if(kbhit()){               int len = 0;                usr_input[0] = '\0';                fgets(usr_input, MAX_CMD_LEN-1, stdin);                //printf("usr input:%s\n", usr_input);                len = strlen(usr_input);                usr_input[len-1] = 0;                if( (len-1) > 0){                    send(socket_fd, usr_input, len, 0);                }else{                                    printf("%s", CLI_PROMPT);                             }        }            }    close(socket_fd);#ifdef WIN32    WSACleanup();#endif        return 0;}/*********************************copy from inet_pton.c*********************************************//* int * inet_pton(af, src, dst) *	convert from presentation format (which usually means ASCII printable) *	to network format (which is usually some kind of binary format). * return: *	1 if the address was valid for the specified address family *	0 if the address wasn't valid (`dst' is untouched in this case) *	-1 if some other error occurred (`dst' is untouched in this case, too) * author: *	Paul Vixie, 1996. */intinet_pton(af, src, dst)	int af;	const char *src;	void *dst;{	switch (af) {	case AF_INET:		return (inet_pton4(src, dst));	/* I'm lazy, comment this	case AF_INET6:		return (inet_pton6(src, dst));	*/	default:		errno = EAFNOSUPPORT;		return (-1);	}	/* NOTREACHED */}/* int * inet_pton4(src, dst) *	like inet_aton() but without all the hexadecimal and shorthand. * return: *	1 if `src' is a valid dotted quad, else 0. * notice: *	does not touch `dst' unless it's returning 1. * author: *	Paul Vixie, 1996. */static intinet_pton4(src, dst)	const char *src;	u_char *dst;{	static const char digits[] = "0123456789";	int saw_digit, octets, ch;	u_char tmp[INADDRSZ], *tp;	saw_digit = 0;	octets = 0;	*(tp = tmp) = 0;	while ((ch = *src++) != '\0') {		const char *pch;		if ((pch = strchr(digits, ch)) != NULL) {			u_int new = *tp * 10 + (pch - digits);			if (new > 255)				return (0);			*tp = new;			if (! saw_digit) {				if (++octets > 4)					return (0);				saw_digit = 1;			}		} else if (ch == '.' && saw_digit) {			if (octets == 4)				return (0);			*++tp = 0;			saw_digit = 0;		} else			return (0);	}	if (octets < 4)		return (0);	memcpy(dst, tmp, INADDRSZ);	return (1);}/*******************************copy end*****************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久福利视频一区二区| 国产成人一级电影| 国产欧美日韩久久| 欧美三级日韩在线| 成人午夜电影小说| 免费的成人av| 亚洲一二三四久久| 国产精品色眯眯| 精品欧美一区二区三区精品久久| 色呦呦网站一区| 国产精品一区二区黑丝| 日本va欧美va精品发布| 亚洲自拍偷拍av| 亚洲欧美激情在线| 亚洲国产精品二十页| 精品少妇一区二区三区在线播放 | av激情综合网| 国模一区二区三区白浆| 日韩高清欧美激情| 亚洲高清视频在线| 伊人色综合久久天天人手人婷| 欧美激情综合五月色丁香小说| 精品嫩草影院久久| 日韩欧美自拍偷拍| 欧美福利视频一区| 欧美久久久久久久久| 欧美网站一区二区| 欧美三级视频在线| 欧美午夜精品一区| 精品视频一区二区不卡| 欧洲一区二区三区免费视频| 91丝袜国产在线播放| www.久久精品| 91免费精品国自产拍在线不卡| 国产成人综合在线观看| 国产精品综合一区二区三区| 激情国产一区二区| 国产原创一区二区三区| 国产美女视频一区| 国产不卡一区视频| 国产91丝袜在线播放| 夫妻av一区二区| 99精品视频在线免费观看| 97久久精品人人澡人人爽| 99久久久久免费精品国产 | 欧美亚州韩日在线看免费版国语版| www.亚洲国产| 色呦呦国产精品| 欧美伊人久久大香线蕉综合69| 在线观看视频欧美| 欧美美女一区二区三区| 91精品国产综合久久蜜臀| 91精品国产综合久久久蜜臀图片| 精品日韩一区二区| 日本一区二区视频在线| 国产精品的网站| 亚洲国产中文字幕| 蜜臀av一区二区在线免费观看| 激情综合色综合久久| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 精品国产露脸精彩对白| 久久久精品欧美丰满| 中文在线一区二区| 一区二区三区产品免费精品久久75| 亚洲成人在线网站| 精品亚洲成a人在线观看| 成人午夜看片网址| 精品视频色一区| 精品国产一区二区三区忘忧草 | 26uuu色噜噜精品一区| 日本一区二区免费在线观看视频 | 日韩女优毛片在线| 国产欧美一区二区精品久导航 | 五月激情综合婷婷| 国内精品伊人久久久久av影院| 成人av在线观| 91麻豆精品国产自产在线 | 成人中文字幕电影| 欧美网站大全在线观看| 精品久久久久一区二区国产| 中文字幕色av一区二区三区| 午夜精品一区二区三区电影天堂 | 综合激情成人伊人| 青青草国产精品亚洲专区无| 风流少妇一区二区| 欧美日韩精品一区二区在线播放| 久久美女艺术照精彩视频福利播放| 日韩毛片在线免费观看| 久久精品国产精品亚洲精品| 色综合咪咪久久| 26uuu久久天堂性欧美| 一区二区三区毛片| 国产91精品在线观看| 欧美一区二区视频在线观看2022| 国产精品国产三级国产普通话99 | 国产日韩成人精品| 亚洲成人午夜电影| 成人黄色免费短视频| 日韩精品一区二区三区在线播放 | 亚洲精品水蜜桃| 国产呦精品一区二区三区网站| 欧美日韩中字一区| 国产精品久久久久久久午夜片 | 老司机午夜精品99久久| 91麻豆免费看| 国产无一区二区| 蜜桃av一区二区| 欧美在线高清视频| 中文字幕亚洲成人| 国产成人一级电影| 久久影院电视剧免费观看| 日韩精品亚洲一区二区三区免费| 色综合天天综合网天天狠天天| 国产目拍亚洲精品99久久精品| 九九久久精品视频| 欧美一区二区视频在线观看2020 | 一区二区三区av电影| 成人免费的视频| 久久久久久久久99精品| 玖玖九九国产精品| 6080日韩午夜伦伦午夜伦| 亚洲午夜免费福利视频| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 看国产成人h片视频| 欧美性生活影院| 一区二区三区美女| 在线观看视频一区二区| 亚洲免费视频成人| 日本道色综合久久| 亚洲欧美日韩国产中文在线| 高清成人在线观看| 日本一区二区三区电影| 成人精品高清在线| 国产精品久久久久久久久久久免费看 | 欧美日本不卡视频| 亚洲成年人影院| 欧美天天综合网| 亚洲成av人在线观看| 7777精品伊人久久久大香线蕉经典版下载 | 一级日本不卡的影视| 色噜噜偷拍精品综合在线| 亚洲欧美偷拍另类a∨色屁股| gogo大胆日本视频一区| 亚洲美女区一区| 欧美亚洲一区二区三区四区| 香蕉久久夜色精品国产使用方法| 欧美卡1卡2卡| 久久精品国产亚洲高清剧情介绍 | 国产亚洲精品久| 不卡的av电影| 亚洲在线中文字幕| 91精品国产综合久久福利软件| 麻豆国产精品一区二区三区 | 成人99免费视频| 亚洲欧洲综合另类在线| 欧美午夜理伦三级在线观看| 青草av.久久免费一区| 2020国产精品| 96av麻豆蜜桃一区二区| 亚洲成人动漫在线观看| 精品处破学生在线二十三| 波多野结衣91| 午夜成人免费视频| 亚洲精品一区二区三区精华液| 成人深夜视频在线观看| 亚洲一级在线观看| 日韩三级电影网址| 成人avav影音| 日产国产高清一区二区三区 | 日韩精品乱码av一区二区| 久久综合久色欧美综合狠狠| 99精品视频一区| 青青草国产成人99久久| 欧美极品少妇xxxxⅹ高跟鞋 | 亚洲精品伦理在线| 欧美一区二区视频观看视频 | 91蝌蚪porny| 日韩av在线免费观看不卡| 一区二区三区在线观看视频| 日韩一区二区三区电影在线观看| 粉嫩av一区二区三区在线播放 | 日韩中文欧美在线| 国产精品久久久久9999吃药| 欧美高清性hdvideosex| 成人激情免费电影网址| 亚洲成人一二三| 国产精品福利av| 精品久久久久久最新网址| 色哦色哦哦色天天综合| 国产精品系列在线观看| 午夜免费久久看| 中文字幕一区二| 精品福利一区二区三区免费视频| 在线观看一区不卡| 成人精品电影在线观看| 国产一区二区在线影院| 日本人妖一区二区| 亚洲欧美aⅴ...| 国产精品视频一区二区三区不卡| 欧美一区二区三区免费观看视频 |