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

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

?? gnuslib.c

?? Emacs的一個插件源碼
?? C
字號:
/* -*-C-*- Common library code for the GNU Emacs server and client. This file is part of GNU Emacs. Copying is permitted under those conditions described by the GNU General Public License. Copyright (C) 1989 Free Software Foundation, Inc. Author: Andy Norman (ange@hplb.hpl.hp.com), based on          'etc/server.c' and 'etc/emacsclient.c' from the 18.52 GNU         Emacs distribution. Please mail bugs and suggestions to the author at the above address.*//* HISTORY  * 11-Nov-1990		bristor@simba	 *    Added EOT stuff. *//* * This file incorporates new features added by Bob Weiner <weiner@mot.com>, * Darrell Kindred <dkindred@cmu.edu> and Arup Mukherjee <arup@cmu.edu>. * Please see the note at the end of the README file for details. * * (If gnuserv came bundled with your emacs, the README file is probably * ../etc/gnuserv.README relative to the directory containing this file) */static char rcsid [] = "$Header: gnuslib.c,v 2.3 94/09/08 17:18:37 arup Exp $";#include "gnuserv.h"/* On some systems, e.g. DGUX, inet_addr returns a 'struct in_addr'. */#ifdef HAVE_BROKEN_INET_ADDR# define IN_ADDR struct in_addr# define NUMERIC_ADDR_ERROR (numeric_addr.s_addr == -1)#else# if (LONGBITS > 32)#  define IN_ADDR unsigned int# else#  define IN_ADDR unsigned long# endif# define NUMERIC_ADDR_ERROR (numeric_addr == (IN_ADDR) -1)#endifchar *progname = NULL;int make_connection(hostarg, portarg, s)     char *hostarg;     int portarg;     int *s;{#ifdef INTERNET_DOMAIN_SOCKETS  char localhost[HOSTNAMSZ];  char *ptr;  if (hostarg == NULL)    hostarg = getenv("GNU_HOST");  if (portarg == 0 && (ptr=getenv("GNU_PORT")) != NULL)    portarg = atoi(ptr);#endif  if (hostarg != NULL) {    /* hostname was given explicitly, via cmd line arg or GNU_HOST,      * so obey it. */#ifdef UNIX_DOMAIN_SOCKETS    if (!strcmp(hostarg, "unix")) {      *s = connect_to_unix_server();      return (int) CONN_UNIX;    }       else#endif /* UNIX_DOMAIN_SOCKETS */#ifdef INTERNET_DOMAIN_SOCKETS    {      *s = connect_to_internet_server(hostarg, portarg);      return (int) CONN_INTERNET;    }#endif  } else {    /* no hostname given.  Use unix-domain/sysv-ipc, or     * internet-domain connection to local host if they're not available. */#ifdef UNIX_DOMAIN_SOCKETS    *s = connect_to_unix_server();    return (int) CONN_UNIX;#endif#ifdef SYSV_IPC    *s = connect_to_ipc_server();    return (int) CONN_IPC;#endif#ifdef INTERNET_DOMAIN_SOCKETS    gethostname(localhost,HOSTNAMSZ);	  /* use this host by default */        *s = connect_to_internet_server(localhost, portarg);    return (int) CONN_INTERNET;#endif        }}#ifdef SYSV_IPC/*  connect_to_ipc_server -- establish connection with server process via SYSV IPC  			   Returns msqid for server if successful.*/int connect_to_ipc_server(){  int s;			/* connected msqid */  key_t key;			/* message key */  char buf[GSERV_BUFSZ+1];		/* buffer for filename */  sprintf(buf,"/tmp/gsrv%d",geteuid());  creat(buf,0600);  if ((key = ftok(buf,1)) == -1) {    perror(progname);    fprintf(stderr, "%s: unable to get ipc key from %s\n",	    progname, buf);    exit(1);  }  if ((s = msgget(key,0600)) == -1) {    perror(progname);    fprintf(stderr,"%s: unable to access msg queue\n",progname);    exit(1);  }; /* if */  return(s);} /* connect_to_ipc_server *//*  disconnect_from_ipc_server -- inform the server that sending has finished,                                and wait for its reply.*/void disconnect_from_ipc_server(s,msgp,echo)     int s;     struct msgbuf *msgp;     int echo;{  int len;			/* length of received message */  send_string(s,EOT_STR);	/* EOT terminates this message */  msgp->mtype = 1;  if(msgsnd(s,msgp,strlen(msgp->mtext)+1,0) < 0) {    perror(progname);    fprintf(stderr,"%s: unable to send message to server\n",progname);    exit(1);  }; /* if */    if((len = msgrcv(s,msgp,GSERV_BUFSZ,getpid(),0)) < 0) {    perror(progname);    fprintf(stderr,"%s: unable to receive message from server\n",progname);    exit(1);  }; /* if */  if (echo) {    msgp->mtext[len] = '\0';	/* string terminate message */    fputs(msgp->mtext, stdout);    if (msgp->mtext[len-1] != '\n') putchar ('\n');  }; /* if */} /* disconnect_from_ipc_server */  #endif /* SYSV_IPC */#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)/*  send_string -- send string to socket.*/void send_string(s,msg)     int s;     char *msg;{#if 0  if (send(s,msg,strlen(msg),0) < 0) {    perror(progname);    fprintf(stderr,"%s: unable to send\n",progname);    exit(1);  }; /* if */ #else    int len, left=strlen(msg);  while (left > 0) {    if ((len=write(s,msg,min2(left,GSERV_BUFSZ))) < 0) {      perror(progname);      fprintf(stderr,"%s: unable to send\n",progname);      exit(1);    }; /* if */    left -= len;    msg += len;  }; /* while */ #endif} /* send_string */#endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */#ifdef UNIX_DOMAIN_SOCKETS/*  connect_to_unix_server -- establish connection with server process via a unix-  			    domain socket. Returns socket descriptor for server			    if successful.*/int connect_to_unix_server(){  int s;			/* connected socket descriptor */  struct sockaddr_un server; 	/* for unix connections */  if ((s = socket(AF_UNIX,SOCK_STREAM,0)) < 0) {    perror(progname);    fprintf(stderr,"%s: unable to create socket\n",progname);    exit(1);  }; /* if */    server.sun_family = AF_UNIX;#ifdef HIDE_UNIX_SOCKET  sprintf(server.sun_path,"/tmp/gsrvdir%d/gsrv",geteuid());#else  /* HIDE_UNIX_SOCKET */  sprintf(server.sun_path,"/tmp/gsrv%d",geteuid());#endif /* HIDE_UNIX_SOCKET */  if (connect(s,(struct sockaddr *)&server,strlen(server.sun_path)+2) < 0) {    perror(progname);    fprintf(stderr,"%s: unable to connect to local\n",progname);    exit(1);  }; /* if */  return(s);} /* connect_to_unix_server */#endif /* UNIX_DOMAIN_SOCKETS */#ifdef INTERNET_DOMAIN_SOCKETS/*  internet_addr -- return the internet addr of the hostname or                   internet address passed. Return -1 on error.*/int internet_addr(host)     char *host;{  struct hostent *hp;		/* pointer to host info for remote host */  IN_ADDR numeric_addr;		/* host address */  numeric_addr = inet_addr(host);  if (!NUMERIC_ADDR_ERROR)    return numeric_addr;  else if ((hp = gethostbyname(host)) != NULL)    return ((struct in_addr *)(hp->h_addr))->s_addr;  else    return -1;} /* internet_addr *//*  connect_to_internet_server -- establish connection with server process via   				an internet domain socket. Returns socket				descriptor for server if successful.*/int connect_to_internet_server(serverhost,port)     char *serverhost;     u_short port;{  int s;				/* connected socket descriptor */  struct servent *sp;			/* pointer to service information */  struct sockaddr_in peeraddr_in;	/* for peer socket address */  /* clear out address structures */  bzero((char *)&peeraddr_in,sizeof(struct sockaddr_in));    /* Set up the peer address to which we will connect. */  peeraddr_in.sin_family = AF_INET;  /* look up the server host's internet address */  if ((peeraddr_in.sin_addr.s_addr = internet_addr(serverhost)) == -1) {    fprintf(stderr,"%s: unable to find %s in /etc/hosts or from YP\n",	    progname,serverhost);    exit(1);  }; /* if */    if (port == 0) {    if ((sp = getservbyname ("gnuserv","tcp")) == NULL)      peeraddr_in.sin_port = htons(DEFAULT_PORT+getuid());    else      peeraddr_in.sin_port = sp->s_port;  } /* if */  else    peeraddr_in.sin_port = htons(port);    /* Create the socket. */  if ((s = socket (AF_INET,SOCK_STREAM, 0))== -1) {    perror(progname);    fprintf(stderr,"%s: unable to create socket\n",progname);    exit(1);  }; /* if */    /* Try to connect to the remote server at the address   * which was just built into peeraddr.   */  if (connect(s, (struct sockaddr *)&peeraddr_in,	      sizeof(struct sockaddr_in)) == -1) {    perror(progname);    fprintf(stderr, "%s: unable to connect to remote\n",progname);    exit(1);  }; /* if */    return(s);} /* connect_to_internet_server */#endif /* INTERNET_DOMAIN_SOCKETS */#if defined(INTERNET_DOMAIN_SOCKETS) || defined(UNIX_DOMAIN_SOCKETS)/*  disconnect_from_server -- inform the server that sending has finished, and wait for                            its reply.*/void disconnect_from_server(s,echo)     int s;     int echo;{#if 0  char buffer[REPLYSIZ+1];#else  char buffer[GSERV_BUFSZ+1];#endif  int add_newline = 1;  int length;  send_string(s,EOT_STR);		/* make sure server gets string */  if (shutdown(s,1) == -1) {#ifdef EOPNOTSUPP    /* Linux (1.0.9) doesn't seem to allow shutdown on a unix-domain socket.     * It gives EOPNOTSUPP.  Ignore it.   -dkindred@cs.cmu.edu     */    if (errno != EOPNOTSUPP)#endif      {        perror(progname);        fprintf(stderr, "%s: unable to shutdown socket\n",progname);        exit(1);      }  }; /* if */#if 0  while((length = recv(s,buffer,REPLYSIZ,0)) > 0) {    buffer[length] = '\0';    if (echo) fputs(buffer,stdout);    add_newline = (buffer[length-1] != '\n');  }; /* while */#else  while ((length = read(s,buffer,GSERV_BUFSZ)) > 0) {    buffer[length] = '\0';    if (echo) {      fputs(buffer,stdout);      add_newline = (buffer[length-1] != '\n');    }; /* if */  }; /* while */#endif    if (echo && add_newline) putchar('\n');  if(length < 0) {    perror(progname);    fprintf(stderr,"%s: unable to read the reply from the server\n",progname);    exit(1);  }; /* if */} /* disconnect_from_server */  #endif /* INTERNET_DOMAIN_SOCKETS || UNIX_DOMAIN_SOCKETS */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
风间由美一区二区av101| 免费看日韩a级影片| 成人免费黄色在线| 国产一区啦啦啦在线观看| 国产精品午夜春色av| 国产亚洲午夜高清国产拍精品| 日韩精品一区二区三区中文精品 | 久久久久99精品国产片| 2021中文字幕一区亚洲| 精品国产成人系列| 国产欧美一区二区精品性| 国产精品丝袜一区| 亚洲视频你懂的| 亚洲成人综合在线| 蜜臀av一区二区在线观看| 九一九一国产精品| 国产激情偷乱视频一区二区三区| 国产精品一区二区久久不卡| 国产精品911| 9色porny自拍视频一区二区| 色婷婷综合久久久中文一区二区| 97精品久久久久中文字幕| 99精品久久久久久| 欧美一级精品在线| 日本亚洲免费观看| 亚洲欧美另类小说视频| 亚洲第一综合色| 国产乱淫av一区二区三区 | 久久久久久日产精品| 26uuu欧美日本| 亚洲色图在线看| 精品一区二区三区免费视频| 成人激情免费视频| 宅男在线国产精品| 亚洲国产精品精华液ab| 午夜精品久久久久久久久久久| 国产资源精品在线观看| a亚洲天堂av| 日韩午夜精品电影| 亚洲视频中文字幕| 国产一区高清在线| 欧美浪妇xxxx高跟鞋交| 国产人成一区二区三区影院| 一区二区三区精品视频| 国产福利一区二区三区| 欧美视频一区二区在线观看| 久久蜜臀精品av| 天堂成人免费av电影一区| 大胆亚洲人体视频| 欧美久久久影院| 亚洲人成伊人成综合网小说| 日韩电影在线免费观看| 国产99久久久国产精品潘金| 91精品国产综合久久香蕉的特点 | 久久国产尿小便嘘嘘尿| 成人午夜视频网站| 欧美美女一区二区| 亚洲欧美日韩国产另类专区| 国产精品亚洲午夜一区二区三区| 精品少妇一区二区三区| 成人激情综合网站| 精品国产免费一区二区三区香蕉| 欧美激情在线看| 日本美女视频一区二区| 欧美做爰猛烈大尺度电影无法无天| 精品99一区二区| 天天综合网 天天综合色| 91啪在线观看| 欧美国产日韩一二三区| 国产盗摄一区二区三区| 日韩视频免费观看高清在线视频| 一区二区三区成人| 91麻豆国产自产在线观看| 久久精品一区二区三区不卡| 经典三级视频一区| 久久―日本道色综合久久| 美国三级日本三级久久99| 日韩一区二区免费电影| 日韩综合小视频| 3atv在线一区二区三区| 在线视频观看一区| 亚洲女同女同女同女同女同69| 欧美疯狂性受xxxxx喷水图片| 亚洲你懂的在线视频| 成人av综合一区| 欧美激情在线看| 91亚洲精品久久久蜜桃网站 | 麻豆中文一区二区| 欧美一区二区三区四区五区| 日韩福利视频网| 91精品中文字幕一区二区三区| 丝袜美腿亚洲色图| 欧美一级搡bbbb搡bbbb| 久久av资源网| 国产亚洲欧美日韩日本| 成人97人人超碰人人99| 亚洲色图清纯唯美| 欧美日韩免费高清一区色橹橹| 丝袜亚洲另类欧美综合| 精品福利在线导航| 99久久99久久免费精品蜜臀| 久久久亚洲精品石原莉奈| 国产999精品久久久久久绿帽| 国产精品白丝在线| 在线免费观看不卡av| 六月丁香婷婷久久| 国产精品免费视频一区| 欧美亚洲综合另类| 国产综合色在线| 中文字幕视频一区二区三区久| 欧美网站一区二区| 国产一区二区电影| 一二三四社区欧美黄| 日韩免费观看高清完整版在线观看| 欧美一卡二卡三卡| 日本sm残虐另类| 国产精品福利一区二区三区| 欧美日韩国产a| 成人综合在线视频| 日韩成人一区二区| 亚洲男人天堂av网| 久久夜色精品国产欧美乱极品| 在线一区二区三区四区五区| 一本大道av伊人久久综合| 国产精品传媒入口麻豆| 欧美唯美清纯偷拍| 波多野洁衣一区| 麻豆精品一区二区综合av| 亚洲日本在线观看| 久久嫩草精品久久久精品一| 9191久久久久久久久久久| a级精品国产片在线观看| 久久成人免费网| 亚洲午夜在线电影| 亚洲免费观看高清完整| 国产日韩欧美亚洲| 欧美成人女星排名| 91精品久久久久久久99蜜桃 | 一区二区三区在线播| 中文av字幕一区| 日韩欧美精品在线视频| 欧美日韩视频在线一区二区| 91在线国产福利| 成人免费av网站| 激情伊人五月天久久综合| 蜜桃精品视频在线| 日韩中文字幕1| 亚洲成a人片在线不卡一二三区| 国产精品成人一区二区艾草| 国产亚洲成年网址在线观看| 欧美精品一区二区三区高清aⅴ | 欧美电影在哪看比较好| 91偷拍与自偷拍精品| 99精品国产热久久91蜜凸| 粉嫩嫩av羞羞动漫久久久| 久久99热这里只有精品| 99热这里都是精品| eeuss鲁一区二区三区| 不卡视频免费播放| 91在线你懂得| 欧美午夜免费电影| 制服.丝袜.亚洲.另类.中文| 欧美精品一卡二卡| 欧美成人a视频| 久久精品夜色噜噜亚洲aⅴ| 国产精品天干天干在线综合| 中文字幕一区在线观看| 亚洲激情综合网| 亚洲一级二级三级| 免费日本视频一区| 国产成人精品影视| 一本大道久久a久久综合婷婷| 在线观看中文字幕不卡| 日韩视频免费观看高清完整版在线观看 | 狠狠v欧美v日韩v亚洲ⅴ| 狠狠色狠狠色合久久伊人| 国产一区二区在线电影| 成人av在线资源网站| 91久久精品国产91性色tv| 在线不卡a资源高清| 欧美sm美女调教| 中文字幕五月欧美| 日本午夜一本久久久综合| 国产精品77777| 91成人免费在线| 精品久久久久久久久久久久久久久 | 国产成人免费在线视频| 99re热视频这里只精品| 51精品秘密在线观看| 国产亚洲自拍一区| 亚洲一区在线电影| 国产一区二区久久| 在线精品视频免费播放| 欧美成人精品1314www| 中文字幕一区二区三区乱码在线| 日韩中文欧美在线| 91麻豆国产精品久久| 26uuu国产日韩综合| 亚洲永久精品大片| 成人免费高清在线观看|