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

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

?? sendsms.c

?? 手機(jī)短消息服務(wù)的服務(wù)器和客戶端
?? C
?? 第 1 頁 / 共 2 頁
字號:
        case -1:      syserr ("sendsms: call to select() failed");      break;          default:      if (FD_ISSET (fd, &inputs)) {        /* first wait for all data to be ready */	ioctl (fd, FIONREAD, &nread);	while (nread != previous) {	  sleep (resptime);	  previous = nread;	  ioctl (fd, FIONREAD, &nread);	}                    /* while (nread != previous) */	/* we know what's the data size - alloc space for it */	buffer = (char *) malloc ((nread + 1) * sizeof (char));	if (!buffer)	  syserr ("sendsms: can't allocate buffer space");	/* now we can finally read this data */	nread = read (fd, buffer, nread);	switch (nread) {	  case 0:	    /* EOF */	    fprintf (stderr, "got no data from GSM module.\n");	    break;	    	  case -1:	    syserr ("sendsms: error while reading answer from GSM");	    break;	    	  default:	    buffer[nread] = '\0';#ifdef INCL_DEBUG_CODE	    fprintf (stderr, "pid<%d> Got : [%s] (%d char)\n", getpid (), buffer, nread);#endif	    /* here we could pre-process it (remove Ctrl-Z) */	    /* copy it over to out string param. */	    if (nread > size) {	      fprintf (stderr, "too much data, truncation will occur\n");	      strncpy (answer, buffer, size);	      answer[size] = '\0';	    }	    else {	      strcpy (answer, buffer);	    }	    break;	}                               /* switch (nread) */      }                                /* if (FD_ISSET... */      free (buffer);      break;  }                                    /* switch (retval) */  return (nread);}                                    /* get_gsm_answer () *//*========================================================*//*========================================================*//**********           MAIN PROGRAM LOOP            ********//*========================================================*/main (int argc, char *argv[]){  extern char *optarg;  extern int optind, optopt;  int c;                /* option char returned by getopt */  int errflag = 0;       /* error in command line options */  char *destgsm;  char *user;  char *smsc;  char *message;  char *msgfile;  char *host_or_ip;  struct in_addr server_ip;  struct sockaddr_in sockaddr;  int sockfd;  int addrlen;  char *cmdline;  int retval;  char *sendlog;  struct passwd *pwduentry;  /*--------------------------------------Initialisations */  cmdline = (char *) malloc ((BUFFSIZE + 1) * sizeof (char));  cmdline[0] = '\0';  destgsm = (char *) malloc ((MAXPHNUMLEN + 1) * sizeof (char));  destgsm[0] = '\0';  smsc = (char *) malloc ((MAXPHNUMLEN + 1) * sizeof (char));  smsc[0] = '\0';  msgfile = (char *) malloc ((PATH_MAX + 1) * sizeof (char));  msgfile[0] = '\0';  /* MAXUIDLEN + 3 to leave space for the quotes */  user = (char *) malloc ((MAXUIDLEN + 3) * sizeof (char));  user[0] = '\0';  /* MAXMSGLEN + 3 to leave space for the quotes */  message = (char *) malloc ((MAXMSGLEN + 3) * sizeof (char));  message[0] = '\0';  host_or_ip = (char *) malloc ((MINIBUFF + 1) * sizeof (char));  host_or_ip[0] = '\0';  sendlog = (char *) malloc ((BIGBUFF + 1) * sizeof (char));  sendlog[0] = '\0';  /* default values for parameters */  if ((pwduentry = getpwuid (getuid ())) == NULL)    syserr ("sendsms: can't get user entry in passwd file");  if (strlen (pwduentry->pw_name) > MAXUIDLEN) {    strncpy (user, pwduentry->pw_name, MAXUIDLEN);    fprintf (stderr, "sendsms: WARNING: username too long (max. %d), truncated\n",             MAXUIDLEN);  }  else {    strcpy (user, pwduentry->pw_name);  }  quote (user);  /*-------------------------Command line processing loop */  while ((c = getopt (argc, argv, ":d:s:m:f:u:")) != -1) {    switch (c) {      case 'd':                 /* destination GSM number */        if (strlen (optarg) > MAXPHNUMLEN) {	  fprintf (stderr, "sendsms: -d parameter too long, max. is %d\n",	          MAXPHNUMLEN);	  errflag++;	}	else	  strcpy (destgsm, optarg);        break;      case 's':                            /* SMSC number */        if (strlen (optarg) > MAXPHNUMLEN) {	  fprintf (stderr, "sendsms: -s parameter too long, max. is %d\n",	          MAXPHNUMLEN);	  errflag++;	}	else          strcpy (smsc, optarg);        break;      case 'm':                        /* message to send */        if (strlen (optarg) > MAXMSGLEN) {	  fprintf (stderr, "sendsms: warning: message too long (max. %d char.) - truncated\n",	          MAXMSGLEN);          strncpy (message, optarg, MAXMSGLEN);	}	else          strcpy (message, optarg);	quote (message);        break;      case 'f':              /* file to load message from */        if (strlen (optarg) > PATH_MAX) {	  fprintf (stderr, "sendsms: warning: filename too long (max. %d char.)\n",	          PATH_MAX);	  errflag++;	}	else          strcpy (msgfile, optarg);        break;      case 'u':                              /* sender ID */        if (strlen (optarg) > MAXUIDLEN) {	  fprintf (stderr, "sendsms: warning: username too long (max. %d char.) - truncated\n",	          MAXUIDLEN);          strncpy (user, optarg, MAXUIDLEN);	}	else          strcpy (user, optarg);	quote (user);        break;      case ':':             /* parameter without argument */        fprintf (stderr, "sendsms: Option -%c requires an argument.\n",                optopt);        errflag++;        break;      case '?':               /* unrecognized option char */        fprintf (stderr, "sendsms: Unrecognized option: -%c.\n", optopt);        errflag++;        break;      default:        fprintf (stderr, "sendsms: getopt() returned char. code 0%o ??\n", c);    }                                       /* switch (c) */  }                                       /* while (c...) */  /*......................................................*/  /* now transfer the last element (server name) */  if (optind < argc) {    if (strlen (argv[optind]) > MINIBUFF) {      fprintf (stderr, "sendsms: <server name> parameter too long, max. is %d\n",	      MINIBUFF);      errflag++;    }    else      strcpy (host_or_ip, argv[optind]);  }  /*----------------------Check for required parameter(s) */  /* -d, either -m or -f and server name or address */  if (!errflag) {    if (strlen (destgsm) == 0) {      fprintf (stderr, "sendsms: Required parameter -d not present.\n");      errflag++;    }    if ((strlen (message) == 0) && (strlen (msgfile) == 0)) {      fprintf (stderr, "sendsms: You must provide either -m or -f.\n");      errflag++;    }    if (strlen (host_or_ip) == 0) {      fprintf (stderr, "sendsms: Required parameter <server name> not present.\n");      errflag++;    }  }                                      /* if (!errflag) */  /*-------------------Check for conflicting parameter(s) */  /* -m with -f */  if ((strlen (message) > 0) && (strlen (msgfile) > 0)) {      fprintf (stderr, "sendsms: Conflicting parameters -m and -f.\n");      errflag++;  }  /*-----------------------On error, display usage & exit */  if (errflag) {    fprintf (stderr, "\nsendsms ver. %s (%s), SMS Client for Unix\n",             SMS_CLI_VERSION, SMS_CLI_DATE);    fprintf (stderr, "(c) Les Ateliers du Heron, 1998 for Scitex Europe, S.A.\n");    fprintf (stderr, "\nUsage: sendsms -d dest [-s smsc] (-m msg | -f file) [-u user] server\n");    fprintf (stderr, "\nWhere: dest   = destination GSM number\n");    fprintf (stderr, "       smsc   = SMSC number (opt)\n");    fprintf (stderr, "       msg    = message to be sent (max. %d char.)\n", MAXMSGLEN);    fprintf (stderr, "       file   = file containing the message (- for stdin)\n");    fprintf (stderr, "       user   = sender ID (max. %d char. - opt)\n", MAXUIDLEN);    fprintf (stderr, "       server = SMS Server name or ip addr.\n");    exit (2);  }  /* DEBUG ...............................................*/#ifdef INCL_DEBUG_CODE  fprintf (stdout, "Those are the parameters :\n");  fprintf (stdout, "dest     = [%s]\n", destgsm);  fprintf (stdout, "smsc     = [%s]\n", smsc);  fprintf (stdout, "message  = [%s]\n", message);  fprintf (stdout, "msgfile  = [%s]\n", msgfile);  fprintf (stdout, "user     = [%s]\n", user);  fprintf (stdout, "raw host = [%s]\n", host_or_ip);#endif  /*---------------------------Start real processing loop */  /* first resolve server name */  server_ip.s_addr = resolve (host_or_ip);    /* load message from file is required */  if (strlen (msgfile) > 0) {    if (load_from_file (message, msgfile) == 0)      syserr ("sendsms: error loading message from file or empty file");    quote (message);  }    /* create the socket */  if ((sockfd = socket (AF_INET, SOCK_STREAM, 0)) == -1)    syserr ("sendsms: can't create socket");    /* build the server socket address parameters */  sockaddr.sin_family = AF_INET;  sockaddr.sin_port = htons (DEFSMSPORT);  sockaddr.sin_addr.s_addr = server_ip.s_addr;  addrlen = sizeof (sockaddr);    /* now connect to the server */  if (connect (sockfd, (struct sockaddr *)&sockaddr, addrlen) == -1)    syserr ("sendsms: can't connect to server");      /*......................................Start of dialog */  /* slurp server announce and catch prompt */  if (!slurp_n_catch (sockfd, 1, SERVPROMPT))    syserr ("sendsms: can't get server prompt");      /* set sender ID - get ok */  sprintf (cmdline, "set user = %s\n", user);  tellsock (sockfd, cmdline);  if (!slurp_n_catch (sockfd, 1, "Ok"))    syserr ("sendsms: failed to set sender ID (user name)");      /* set dest GSM - get ok */  sprintf (cmdline, "set dest = %s\n", destgsm);  tellsock (sockfd, cmdline);  if (!slurp_n_catch (sockfd, 1, "Ok"))    syserr ("sendsms: failed to set destination GSM number");      /* set smsc if needs be - get ok */  if (strlen (smsc) > 0) {    sprintf (cmdline, "set smsc = %s\n", smsc);    tellsock (sockfd, cmdline);    if (!slurp_n_catch (sockfd, 1, "Ok"))      syserr ("sendsms: failed to set new SMSC number");  }    /* set message - get ok */  sprintf (cmdline, "set message = %s\n", message);  tellsock (sockfd, cmdline);  if (!slurp_n_catch (sockfd, 1, "Ok"))    syserr ("sendsms: failed to set message to be transmitted");      /* send - get feedback (message sent) */  sprintf (cmdline, "send\n");  tellsock (sockfd, cmdline);  if (get_gsm_answer (sockfd, sendlog, BIGBUFF, 20)) {    /* timeout needs to be as large as 20 here, because of the     * huge time it takes to send and verify a PIN code (at a     * min. 13 secs. */#ifdef INCL_DEBUG_CODE    fprintf (stderr, "SMS send dialog:\n%s\n", sendlog);#endif    if (strstr (sendlog, "message sent")) {      fprintf (stderr, "message successfully sent\n");      retval = 0;                              /* success */    }    else {      fprintf (stderr, "failed to send message\n");      retval = 102;                     /* sending failed */    }  }  else {    fprintf (stderr, "no answer from server\n");    retval = 101;                            /* no answer */  }      /* close connection */  sprintf (cmdline, "bye\n");  tellsock (sockfd, cmdline);  /*------------------------------------------Conclusions */  /* close socket */  if (close (sockfd) == -1)    syserr ("sendsms: can't close socket");    /* free what's need to be */  free (destgsm);  free (smsc);  free (message);  free (msgfile);  free (host_or_ip);  free (cmdline);  free (sendlog);  /*------------------------------------------End program */  exit (retval);}                                              /* main () *//*========================================================== * EOF : sendsms.c *===================*/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久国产福利国产秒拍| 国产精品高潮久久久久无| 亚洲无人区一区| 欧美日韩国产另类一区| 天堂久久久久va久久久久| 91精品国模一区二区三区| 蜜臀久久久久久久| 久久免费电影网| 99精品视频一区二区| 悠悠色在线精品| 欧美一区二区三区性视频| 精品一区二区精品| 欧美精彩视频一区二区三区| 91亚洲永久精品| 婷婷一区二区三区| 久久久国产一区二区三区四区小说| 国产91清纯白嫩初高中在线观看 | 日本欧美大码aⅴ在线播放| 欧美精品成人一区二区三区四区| 蜜臀国产一区二区三区在线播放| 欧美经典一区二区| 色综合久久88色综合天天| 五月综合激情婷婷六月色窝| 欧美精品一区二区三区蜜桃 | 自拍偷拍亚洲欧美日韩| 欧美视频一区在线观看| 老司机午夜精品99久久| 1000精品久久久久久久久| 欧美老肥妇做.爰bbww视频| 国产乱人伦精品一区二区在线观看| 亚洲欧美自拍偷拍色图| 在线综合亚洲欧美在线视频| 懂色av中文字幕一区二区三区| 亚洲午夜久久久久| 国产蜜臀97一区二区三区| 欧美日韩国产影片| 成人教育av在线| 奇米一区二区三区av| 国产精品亲子乱子伦xxxx裸| 69av一区二区三区| 91碰在线视频| 国产成人在线网站| 日韩电影免费在线观看网站| 国产精品欧美久久久久无广告 | 国内精品国产成人国产三级粉色| 综合久久久久久| 欧美大胆一级视频| 欧美怡红院视频| 91尤物视频在线观看| 久久99在线观看| 亚洲成人在线观看视频| 国产精品激情偷乱一区二区∴| 日韩亚洲欧美在线观看| 欧美性一区二区| 91网址在线看| 成人午夜激情在线| 国产精品一区二区你懂的| 免费成人av资源网| 日韩经典中文字幕一区| 一区二区三区日本| 中文字幕一区二区三区精华液| 久久婷婷一区二区三区| 日韩午夜三级在线| 91麻豆精品91久久久久久清纯| 91福利精品视频| 色94色欧美sute亚洲13| www.日韩精品| jlzzjlzz亚洲日本少妇| 国产99精品国产| 粉嫩蜜臀av国产精品网站| 国产精品一区二区果冻传媒| 精品在线观看视频| 精品一区二区三区久久| 极品少妇xxxx精品少妇偷拍| 美女在线视频一区| 精品一区二区在线观看| 麻豆一区二区在线| 久久成人免费网| 激情图区综合网| 国产老妇另类xxxxx| 国产精品一区在线观看你懂的| 黄页网站大全一区二区| 精品一区二区三区欧美| 极品美女销魂一区二区三区免费| 蜜臀av性久久久久蜜臀aⅴ四虎| 麻豆免费精品视频| 久久精品国产99| 国产suv精品一区二区883| 粉嫩嫩av羞羞动漫久久久 | 亚洲成人av免费| 天天影视涩香欲综合网| 免费成人在线影院| 国产一区日韩二区欧美三区| 国产河南妇女毛片精品久久久| 国产激情一区二区三区四区 | 天使萌一区二区三区免费观看| 亚洲狠狠爱一区二区三区| 日韩黄色免费网站| 美国精品在线观看| 成人ar影院免费观看视频| 91国产成人在线| 欧美tickling挠脚心丨vk| 国产亚洲欧美日韩俺去了| 亚洲日本va在线观看| 午夜激情综合网| 国产老妇另类xxxxx| 91久久香蕉国产日韩欧美9色| 欧美日韩极品在线观看一区| 精品日韩一区二区| 国产精品白丝在线| 日韩精品免费专区| 成人免费视频caoporn| 欧美精品三级日韩久久| 国产亚洲1区2区3区| 亚洲一区二区三区中文字幕 | 国产一区二区三区| 色成人在线视频| 日韩精品一区二区三区视频| 国产精品久久久久影院老司| 亚洲观看高清完整版在线观看| 国产伦理精品不卡| 精品视频1区2区| 国产亚洲成av人在线观看导航 | 2欧美一区二区三区在线观看视频| 国产精品麻豆久久久| 麻豆一区二区三| 色婷婷国产精品综合在线观看| 日韩精品一区二区三区视频播放 | 亚洲乱码中文字幕| 国产一区二区三区精品视频| 在线观看亚洲一区| 国产欧美日韩久久| 看国产成人h片视频| 色婷婷av一区二区三区大白胸| 精品女同一区二区| 五月综合激情网| 91丨porny丨蝌蚪视频| 久久亚洲综合色| 午夜电影一区二区| 色欧美片视频在线观看| 久久久久久久性| 久久99热这里只有精品| 欧美视频一区在线观看| 日韩美女啊v在线免费观看| 国产呦萝稀缺另类资源| 欧美电影影音先锋| 一区二区三区在线播| 国产成人aaa| 久久免费精品国产久精品久久久久| 亚洲成a人v欧美综合天堂下载| 成人av电影免费观看| 国产视频911| 国产一区欧美日韩| 亚洲精品一区二区三区蜜桃下载 | 日日噜噜夜夜狠狠视频欧美人 | 1024国产精品| 不卡一区二区三区四区| 国产午夜亚洲精品不卡| 激情综合色播五月| 欧美电影免费提供在线观看| 美女网站一区二区| 欧美丰满一区二区免费视频 | 日韩欧美一区电影| 视频一区二区三区入口| 精品1区2区3区| 亚洲自拍都市欧美小说| 在线视频中文字幕一区二区| 亚洲男人的天堂av| 色综合中文字幕国产 | 久久精品国产久精国产| 欧美精品久久天天躁| 奇米精品一区二区三区在线观看一 | 7777精品伊人久久久大香线蕉的| 香蕉乱码成人久久天堂爱免费| 欧美在线一区二区| 首页亚洲欧美制服丝腿| 777午夜精品视频在线播放| 免费高清不卡av| 久久久久久久久久久久久久久99| 国产一区在线不卡| 国产精品日产欧美久久久久| 一本久久a久久免费精品不卡| 亚洲最大的成人av| 69堂精品视频| 国产精品18久久久久久久网站| 国产女人水真多18毛片18精品视频| 国产不卡视频一区| 亚洲欧美一区二区三区极速播放| 91高清视频免费看| 男人的天堂亚洲一区| 日本一区二区三区国色天香| 91丨九色丨蝌蚪丨老版| 亚洲成人免费在线观看| 欧美岛国在线观看| 成人动漫视频在线| 亚洲电影在线免费观看| 精品福利一区二区三区免费视频| 成人一级黄色片| 亚洲丶国产丶欧美一区二区三区| 欧美大黄免费观看|