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

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

?? talk.c

?? minix軟件源代碼
?? C
字號:
/* talk.c Copyright Michael Temari 08/01/1996 All Rights Reserved */#include <sys/types.h>#include <sys/stat.h>#include <stdio.h>#include <string.h>#include <unistd.h>#include <stdlib.h>#include <signal.h>#include <utmp.h>#include <termios.h>#include <net/gen/netdb.h>#include <net/hton.h>#include <net/gen/socket.h>#include <net/gen/in.h>#include <net/gen/inet.h>#include <net/gen/tcp.h>#include <net/gen/udp.h>#include "talk.h"#include "proto.h"#include "net.h"#include "screen.h"_PROTOTYPE(int main, (int argc, char *argv[]));_PROTOTYPE(void DoTalk, (void));int main(argc, argv)int argc;char *argv[];{char *p;struct hostent *hp;struct stat st;struct utmp utmp;int slot;FILE *fp;   if(argc < 2 || argc > 3) {   	fprintf(stderr, "Usage: talk user[@host] [tty]\n");   	return(-1);   }   /* get local host name */   if(gethostname(lhost, HOST_SIZE) < 0) {   	fprintf(stderr, "talk: Error getting local host name\n");   	return(-1);   }   /* get local user name and tty */   if((slot = ttyslot()) < 0) {   	fprintf(stderr, "talk: You are not on a terminal\n");   	return(-1);   }   if((fp = fopen(UTMP, "r")) == (FILE *)NULL) {   	fprintf(stderr, "talk: Could not open %s\n", UTMP);   	return(-1);   }   if(fseek(fp, (off_t) sizeof(utmp) * slot, SEEK_SET)) {   	fprintf(stderr, "talk: Could not seek %s\n", UTMP);   	fclose(fp);   	return(-1);   }   if(fread((char *)&utmp, sizeof(utmp), 1 , fp) != 1) {   	fprintf(stderr, "talk: Could not read %s\n", UTMP);   	fclose(fp);   	return(-1);   }   fclose(fp);   strncpy(luser, utmp.ut_user, USER_SIZE < sizeof(utmp.ut_user) ?   				USER_SIZE : sizeof(utmp.ut_user));   luser[USER_SIZE] = '\0';   /* get local tty */   if((p = ttyname(0)) == (char *)NULL) {   	fprintf(stderr, "talk: You are not on a terminal\n");   	return(-1);   }   strncpy(ltty, p+5, TTY_SIZE);   ltty[TTY_SIZE] = '\0';   /* check if local tty is going to be writable */   if(stat(p, &st) < 0) {   	perror("talk: Could not stat local tty");   	return(-1);   }   if((st.st_mode & S_IWGRP) == 0) {   	fprintf(stderr, "talk: Your terminal is not writable.  Use: mesg y\n");   	return(-1);   }   /* get remote user and host name */   if((p = strchr(argv[1], '@')) != (char *)NULL)   	*p++ = '\0';   else   	p = lhost;   strncpy(ruser, argv[1], USER_SIZE);   ruser[USER_SIZE] = '\0';   strncpy(rhost, p, HOST_SIZE);   rhost[HOST_SIZE] = '\0';   /* get remote tty */   if(argc > 2)   	strncpy(rtty, argv[2], TTY_SIZE);   else   	rtty[0] = '\0';   rtty[TTY_SIZE] = '\0';   if((hp = gethostbyname(rhost)) == (struct hostent *)NULL) {   	fprintf(stderr, "talk: Could not determine address of %s\n", rhost);   	return(-1);   }   memcpy((char *)&raddr, (char *)hp->h_addr, hp->h_length);   if(NetInit()) {   	fprintf(stderr, "talk: Error in NetInit\n");   	return(-1);   }   if(ScreenInit())   	return(-1);   if(!TalkInit())	DoTalk();   ScreenEnd();   return(0);}struct pdata {	int win;	int len;	char buffer[64];} pdata;void DoTalk(){int s;int s2;int kid;int pfd[2];int win;int len;struct termios termios;char lcc[3];char rcc[3];   ScreenMsg("");   ScreenWho(ruser, rhost);   /* Get and send edit characters */   s = tcgetattr(0, &termios);   if(s < 0) {   	perror("talk: tcgetattr");   	return;   }   lcc[0] = termios.c_cc[VERASE];   lcc[1] = termios.c_cc[VKILL];   lcc[2] = 0x17; /* Control - W */   s = write(tcp_fd, lcc, sizeof(lcc));   if(s != sizeof(lcc)) {   	ScreenMsg("Connection Closing due to error");   	return;   }   s = read(tcp_fd, rcc, sizeof(rcc));   if(s != sizeof(rcc)) {   	ScreenMsg("Connection Closing due to error");   	return;   }   ScreenEdit(lcc, rcc);   s = pipe(pfd);   if(s < 0) {   	ScreenMsg("Could not create pipes");   	return;   }   if((kid = fork()) < 0) {   	ScreenMsg("Could not fork");   	close(pfd[0]);   	close(pfd[1]);   	return;   }   if(kid == 0) {   	close(tcp_fd);   	close(pfd[1]);   	while(1) {   		s = read(pfd[0], &pdata, sizeof(pdata));   		if(s != sizeof(pdata)) {   			close(pfd[0]);   			exit(-1);   		}   		ScreenPut(pdata.buffer, pdata.len, pdata.win);   	}   }   close(pfd[0]);   if((kid = fork()) < 0) {   	ScreenMsg("Could not fork");   	close(pfd[1]);   	return;   }   if(kid == 0) {   	pdata.win = REMOTEWIN;   	while(!ScreenDone) {	   	s = read(tcp_fd, pdata.buffer, sizeof(pdata.buffer));   		if(s <= 0)   			break;   		pdata.len = s;		write(pfd[1], &pdata, sizeof(pdata));   	}   	close(pfd[1]);   	close(tcp_fd);	kill(getppid(), SIGINT);   	exit(-1);   }   pdata.win = LOCALWIN;   while(!ScreenDone) {	s = read(0, pdata.buffer, sizeof(pdata.buffer));	if(s <= 0)		break;	pdata.len = s;	write(pfd[1], &pdata, sizeof(pdata));	s2 = write(tcp_fd, pdata.buffer, s);	if(s2 != s)		break;   }   kill(kid, SIGINT);   close(pfd[1]);   close(tcp_fd);   return;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线精品国精品国产尤物884a| 色网综合在线观看| 亚洲色图都市小说| 在线成人av网站| 成人国产电影网| 秋霞午夜av一区二区三区| 国产精品免费网站在线观看| 制服.丝袜.亚洲.中文.综合| 成人免费视频免费观看| 五月天国产精品| 最新久久zyz资源站| 欧美一区二区三区视频免费播放| 99国产精品视频免费观看| 激情综合网av| 91年精品国产| 精品一区二区三区久久| 亚洲高清免费视频| 1区2区3区精品视频| 精品国产乱码久久久久久蜜臀 | 亚洲欧洲一区二区三区| 欧美一区二区私人影院日本| 色视频一区二区| 成人国产视频在线观看| 国产一区二区三区av电影| 亚洲午夜av在线| 亚洲视频一二三| 国产精品美女久久久久aⅴ国产馆| 日韩精品一区在线| 欧美嫩在线观看| 欧美三级乱人伦电影| 91亚洲精品一区二区乱码| 国产一区二区在线视频| 美女免费视频一区| 丝袜国产日韩另类美女| 亚洲国产精品人人做人人爽| 亚洲猫色日本管| 亚洲免费在线播放| 中文字幕一区三区| 国产精品久久久久一区二区三区 | 国产性色一区二区| 26uuuu精品一区二区| 日韩免费在线观看| 欧美成人在线直播| 欧美不卡视频一区| 精品美女被调教视频大全网站| 91精品国产综合久久精品app| 欧美日韩大陆在线| 91精品国产手机| 91精品在线观看入口| 欧美性做爰猛烈叫床潮| 欧美亚洲免费在线一区| 精品视频在线看| 欧美日韩在线电影| 欧美精品777| 日韩午夜av一区| 精品国产乱码91久久久久久网站| 精品国产一区二区三区久久影院| 精品国产乱码久久久久久老虎 | 日韩理论电影院| 亚洲影视在线观看| 日韩精彩视频在线观看| 麻豆精品一区二区三区| 韩国成人精品a∨在线观看| 国产一区激情在线| 成人性生交大合| 91久久国产综合久久| 欧美在线三级电影| 日韩欧美成人一区| 欧美高清在线精品一区| 亚洲老妇xxxxxx| 日韩成人精品视频| 久久国产欧美日韩精品| 国产精品自拍三区| 色网站国产精品| 69堂精品视频| 欧美国产一区在线| 一区二区三区色| 青青青伊人色综合久久| 国产精品一卡二| 91国产免费看| 日韩视频免费观看高清在线视频| 久久久99精品免费观看| 亚洲靠逼com| 麻豆精品久久精品色综合| 成人动漫一区二区在线| 欧美精品少妇一区二区三区| 久久精品视频在线看| 亚洲免费观看高清完整版在线观看| 午夜精品视频在线观看| 高清视频一区二区| 欧美福利视频导航| 国产精品色呦呦| 毛片一区二区三区| 日本电影亚洲天堂一区| 精品国产91久久久久久久妲己| 亚洲三级久久久| 九九久久精品视频| 91九色最新地址| 欧美国产精品v| 久久激情五月激情| 欧美日精品一区视频| 精品成人一区二区三区| 一区二区三区四区国产精品| 国产乱码精品一区二区三区忘忧草| 一本色道久久综合亚洲aⅴ蜜桃 | 伊人婷婷欧美激情| 国产美女精品人人做人人爽 | 在线播放视频一区| 中文字幕制服丝袜成人av| 久久不见久久见中文字幕免费| 色综合天天综合网天天看片| 久久女同互慰一区二区三区| 亚洲18色成人| 91黄色免费看| 国产精品蜜臀av| 国产一区二区主播在线| 666欧美在线视频| 亚洲第一狼人社区| 91丝袜美腿高跟国产极品老师 | 91精品国产欧美一区二区18| 亚洲欧美一区二区三区孕妇| 国产成人av一区二区三区在线 | 不卡的电视剧免费网站有什么| 日韩欧美国产系列| 性做久久久久久久免费看| 99久久免费国产| 国产精品亲子乱子伦xxxx裸| 激情综合五月婷婷| 欧美电影免费观看高清完整版在线观看| 亚洲一区影音先锋| 91在线视频播放| 中文字幕在线一区| 成人激情av网| 国产精品午夜在线观看| 国产a视频精品免费观看| 久久蜜桃av一区二区天堂| 久久草av在线| 久久久一区二区三区捆绑**| 久久疯狂做爰流白浆xx| 精品国产凹凸成av人网站| 精品在线观看视频| 精品久久人人做人人爰| 国产综合色产在线精品| 久久夜色精品国产噜噜av| 国产一区二区电影| 欧美极品美女视频| av亚洲精华国产精华精华| 亚洲日本一区二区| 色综合天天视频在线观看| 亚洲综合图片区| 欧美男男青年gay1069videost| 日韩综合小视频| 精品国产乱码久久久久久夜甘婷婷| 国产一区二区三区电影在线观看| 久久色视频免费观看| 成人精品视频一区二区三区尤物| 国产精品夫妻自拍| 欧美日韩一区二区三区免费看| 视频一区二区三区中文字幕| 欧美成人精品3d动漫h| 国产一区二区精品在线观看| 国产精品高潮久久久久无| 在线观看不卡视频| 奇米色一区二区| 久久久久久久网| 色婷婷亚洲一区二区三区| 亚洲成人综合在线| 欧美成人精品福利| 99久久99精品久久久久久| 亚洲综合偷拍欧美一区色| 欧美大片免费久久精品三p| 国产成人在线网站| 尤物在线观看一区| 精品黑人一区二区三区久久| 成人三级在线视频| 亚洲高清久久久| 久久综合丝袜日本网| 97久久人人超碰| 毛片av中文字幕一区二区| 国产精品欧美极品| 这里只有精品视频在线观看| 国产一区二区三区四| 亚洲综合在线视频| 欧美日韩综合在线| 国产精品亚洲一区二区三区在线| 国产精品乱子久久久久| 91麻豆精品国产91久久久资源速度 | 琪琪一区二区三区| 国产精品久久久久久久久久久免费看| 欧美亚男人的天堂| 国产ts人妖一区二区| 亚洲国产日韩在线一区模特| 久久久国产一区二区三区四区小说 | 成人晚上爱看视频| 奇米一区二区三区| 亚洲免费观看高清在线观看| 精品日韩欧美在线| 欧美在线999| 成人黄页在线观看| 精品亚洲aⅴ乱码一区二区三区|