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

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

?? server.y

?? 手機(jī)短消息服務(wù)的服務(wù)器和客戶端
?? Y
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
				  if (strlen ($4) > MAXMSGLEN) {				    strncpy (symbols.message, $4, MAXMSGLEN);				    symbols.message[MAXMSGLEN] = '\0';				    sprintf (buffer, "WARNING: max. message length is %d, value now truncated\r\n",				           MAXMSGLEN);			            tellsock (csfd, buffer);				  }				  else				    strcpy (symbols.message, $4);				  sprintf (buffer, "Ok\r\n");				  tellsock (csfd, buffer);                                  syslog ((FACILITY | LOG_NOTICE),				         "message to transmit is set.");				}								else {				  sprintf (buffer, "ERROR: unknown item <%s>\r\n", idname);				  tellsock (csfd, buffer);				}								free (idname);				idname = NULL;				free ($4);				}	;parameter:	T_PARAM		{ if (paramname)				    free (paramname);				paramname = (char *) malloc ((yyleng + 1) * sizeof (char));				paramname[0] = '\0';				strcpy (paramname, yytext);				}	;variable:	T_NAME		{ if (idname)				    free (idname);				 idname = (char *) malloc ((yyleng + 1) * sizeof (char));				 idname[0] = '\0';				 strcpy (idname, yytext);				 }	;value:		T_TEXT		{				/* let's dequote here */				dequote ($1);				vtype = T_TEXT;				}	|	T_PHNUM		{				/* let's dequote and remove [/.] here */				dequote ($1);				deslashdot ($1);				vtype = T_PHNUM;				}	;%%/*########################################################*//* Main entry point for the parser module                 */int parser (){  /*======================================Initialisations */  /*==============================Main Call to the Parser */  yyparse ();}                                            /* parser () *//*########################################################*//*========================================================*//*                     Local Functions                    *//*========================================================*/int my_yyinput (buf, max_size)char *buf;int max_size;{  int n = min (max_size, (myinputlim - myinputptr));    if (n > 0) {    memcpy (buf, myinputptr, n);    myinputptr += n;  }    return (n);}                                        /* my_yyinput () *//*========================================================*/int give_help (p)char *p;{  int topic_id;  topic_id = help_lookup (p);  switch (topic_id) {    case H_HELP: {      sprintf (buffer, "\r\nSyntax: he | help [command]\r\n"              "Used with no option, gives a list of all available commands.\r\n"              "When a command is provided, gives detailed help on this command.\r\n\r\n");      tellsock (csfd, buffer);      break;    }    case H_CLEAR: {      sprintf (buffer, "\r\nSyntax: clear [item]\r\n"              "Where [item] is one of:\r\n"              "- smsc: SMS Message Center (reverts it to \"%s\")\r\n"              "- user: sender identification (user name) for logging purposes\r\n"              "- dest: destination GSM number\r\n"              "- message | msg: message text to be sent to destination\r\n"              "Used with no option, clears all items.\r\n"              "When an item is specified, clears only this one.\r\n\r\n",	      DEFAULTSMSC);      tellsock (csfd, buffer);      break;    }    case H_SET: {      sprintf (buffer, "\r\nSyntax: set item = value\r\n"              "Where [item] is one of:\r\n"              "- smsc: SMS Message Center (see your provider or use default)\r\n"              "- user: sender identification (user name) for logging purposes\r\n"              "- dest: destination GSM number\r\n"              "- message | msg: message text to be sent to destination\r\n\r\n");      tellsock (csfd, buffer);      sprintf (buffer, "Note 1: text must be quoted, GSM numbers can be quoted, GSM numbers can\r\n"              "contain any of [/.-+].\r\n\r\n"	      "Note 2: for SMSC, a value of \"%s\" means the default SMSC\r\n"	      "as defined per device in %s. Set it to a valid phone\r\n"	      "number to use a different one. Use the \"clear\" command to reset it\r\n"	      "to \"%s\".\r\n\r\n", DEFAULTSMSC, GSMDEVFILE, DEFAULTSMSC);      tellsock (csfd, buffer);      break;    }    case H_SEND: {      sprintf (buffer, "\r\nSyntax: send\r\n"              "When all parameters are filled in as required, use this command to\r\n"              "send the SMS message. You'll wait during the time it takes to send.\r\n"              "An acknowlegment will be returned when done.\r\n\r\n");      tellsock (csfd, buffer);      break;    }    case H_QUIT: {      /* just jump to next */    }    case H_EXIT: {      /* just jump to next */    }    case H_BYE: {      sprintf (buffer, "\r\nSyntax: quit | exit | bye\r\n"              "Closes the connection and leaves the program.\r\n\r\n");      tellsock (csfd, buffer);      break;    }    case H_SHOW: {      sprintf (buffer, "\r\nSyntax: sh | show [item]\r\n"              "Where [item] is one of:\r\n"              "- smsc: SMS Message Center (see your provider or use default)\r\n"              "- user: sender identification (user name) for logging purposes\r\n"              "- dest: destination GSM number\r\n"              "- message | msg: message text to be sent to destination\r\n"              "Used without parameter, the command displays the current setting\r\n"              "for all items. When an item is specified, only this one is\r\n"              "displayed.\r\n\r\n");      tellsock (csfd, buffer);      break;    }    case H_STATS: {      sprintf (buffer, "\r\nStatistics are not implemented yet.\r\n\r\n");      tellsock (csfd, buffer);      break;    }    case H_DEVLIST: {      sprintf (buffer, "\r\nSyntax: devicelist | dl\r\n"              "Lists registered GSM devices.\r\n"	      "Those are usually configured through <%s>.\r\n"	      "The fields provided in the output are:\r\n", GSMDEVFILE);      tellsock (csfd, buffer);      sprintf (buffer, "- owner:    pid owning a lock on it (0 = not locked)\r\n"	      "- device:   Unix device name\r\n"	      "- CallerID: the GSM's network addr. (its phone number)\r\n"	      "- Def SCA:  the default Service Center Addr. (or SMSC)\r\n"	      "- Provider: Network Provider Name\r\n\r\n");      tellsock (csfd, buffer);      break;    }    case H_ACLIST: {      sprintf (buffer, "\r\nSyntax: aclist | acl\r\n"              "Dumps the registered ACL entries to screen.\r\n"	      "ACL's are Access Control Lists that define which machine\r\n"	      "is allowed to use the server and which isn't. ACL's are\r\n"	      "usually configured through <%s>.\r\n"	      "man 5 gsmaccess for more details.\r\n\r\n", ACCESSFILE);      tellsock (csfd, buffer);      break;    }    case H_UPTIME: {      sprintf (buffer, "\r\nSyntax: uptime | ut\r\n"              "Displays the SMS server process uptime in days, hours, \r\n"	      "minutes and seconds.\r\n\r\n");      tellsock (csfd, buffer);      break;    }    default: {      sprintf (buffer, "ERROR: don't know about <%s>. Can't help.\r\n", p);      tellsock (csfd, buffer);      break;    }  }                                  /* switch (topic_id) */  return (topic_id);}                                         /* give_help () *//*========================================================*/int help_lookup (p)char *p;{  int i;  for (i = 0; (help_topics[i] != NULL) && (strcmp (p, help_topics[i]) != 0); i++);  return (i);}                                       /* help_lookup () *//*========================================================*/void print_device_list (){  extern int shmem_sem;  extern struct gsms_def *gsmdevices;  sprintf (buffer, "\r\n"                   "L | Owner | Device        | CallerID       | Def. SCA       | Provider   \r\n"                   "--+-------+---------------+----------------+----------------+------------\r\n");  tellsock (csfd, buffer);    /* get exclusive access to shared mem. for safety's sake */  if (sem_wait (shmem_sem) == -1)    syserr ("sms_serv: failed to wait on shared mem. semaphore");  /* ---- Begin Crit. Sect. #4 ---- */  for (i = 0; i < ngsmdevs; i++) {    sprintf (buffer, "%s | %5d | /dev/%-8s | %-14s | %-14s | %s\r\n",             (gsmdevices[i].free ? "." : "*"),	     gsmdevices[i].owner,	     gsmdevices[i].device,             gsmdevices[i].addr,             gsmdevices[i].defsca,             gsmdevices[i].provider);    tellsock (csfd, buffer);  }                                          /* for (i... */  /* leave crit. sect. */  if (sem_signal (shmem_sem) == -1)    syserr ("sms_serv: can't signal shared mem. semaphore");  /* ---- End Crit. Sect. #4 ---- */    sprintf (buffer, "\r\n");  tellsock (csfd, buffer);}                                 /* print_device_list () *//*========================================================*/void print_access_list (){  extern acl_list gsm_acl;  struct acl_item *cursor;  unsigned long nomask;  int netmask;  double power;  sprintf (buffer, "\r\nCurrent Access Control List:\r\n"          "============================\r\n");  tellsock (csfd, buffer);  if (!empty_acl_list (gsm_acl)) {    cursor = gsm_acl.head;    /* convert mask value */    nomask = ntohl (cursor->nomask);    if (nomask < (unsigned long) 4294967295) {      nomask++;      power = (log (nomask) / log (2));      netmask = (32 - power);    }    else {      netmask = 0;    }    sprintf (buffer, "%-5s : [%s] / %d\r\n",             (cursor->action == ACL_ALLOW) ? "ALLOW" : "DENY", 	    inet_ntoa (cursor->network),            netmask);    tellsock (csfd, buffer);    while (cursor->next != NULL) {      cursor = cursor->next;      /* convert mask value */      nomask = ntohl (cursor->nomask);      if (nomask < (unsigned long) 4294967295) {	nomask++;	power = (log (nomask) / log (2));	netmask = (32 - power);      }      else {	netmask = 0;      }      sprintf (buffer, "%-5s : [%s] / %d\r\n",               (cursor->action == ACL_ALLOW) ? "ALLOW" : "DENY", 	      inet_ntoa (cursor->network),              netmask);    tellsock (csfd, buffer);    }  }  else {    sprintf (buffer, "Nothing to print: empty 'ACL' list.\r\n");    tellsock (csfd, buffer);  }  sprintf (buffer, "\r\n");  tellsock (csfd, buffer);}                                 /* print_access_list () *//*========================================================*/void compute_uptime (){  extern time_t starttime;  double upsecs;  int days;  int hours;  int rem;  div_t dt;  /* compute the uptime in seconds */  upsecs = difftime (time (NULL), starttime);    /* first extract the number of days */  dt = div ((int) upsecs, 86400);  days = dt.quot;  rem = dt.rem;  /* now extract the number of hours */  dt = div (rem, 3600);  hours = dt.quot;  rem = dt.rem;    /* then extract the number of minutes and seconds */  dt = div (rem, 60);    sprintf (buffer, "\r\nServer uptime: %d days %d hours %d min %d secs.\r\n\r\n",           days, hours, dt.quot, dt.rem);  tellsock (csfd, buffer);}                                    /* compute_uptime () *//*========================================================*/int validate_msg_param (struct symbols *msg){  int retval;  retval = ((msg->smsc[0] != '\0') && (msg->destgsm[0] != '\0') &&            (msg->message[0] != '\0') && (msg->user[0] != '\0'));  return (retval);}                                /* validate_msg_param () *//*========================================================*/int send_sms (struct gsms_def *gsm){  int fd, retval = 0;  char *scratch;  char *ptr;  char *cmsgid;  int nread;  int newpin;  int retries;  int msgid;  char reqsca[MAXPHNUMLEN + 1];    scratch = (char *) malloc ((BIGBUFF + 1) * sizeof (char));  if (!scratch)    syserr ("sms_serv: can't allocate scratch space");  memset (scratch, 0, (BIGBUFF + 1));    /* open modem line */  fd = blopen_mdm_line (gsm->device, B9600);  if (fd < 0) {    syslog ((FACILITY | LOG_ERR), "call to blopen_mdm_line() failed.");    mdmperror ("sms_serv: blopen_mdm_line() failed");    free (scratch);    return (-1);  }    /*------------set GSM to "verbose" error reporting mode */  sprintf (scratch, "at+cmee=1\r");  tell_gsm (fd, scratch);  memset (scratch, 0, (BIGBUFF + 1));  if (get_gsm_answer (fd, scratch, BIGBUFF, 1)) {    tellsock (csfd, scratch);    /* check for "OK" */    if (strstr (scratch, "OK") == NULL) {      mdm_unlock (mdmopendevice);      hangup (fd);      free (scratch);      syslog ((FACILITY | LOG_ERR), "error after sending AT+CMEE command.");      mdmperror ("sms_serv: error after sending AT+CMEE command");      return (-1);    }  }  else {    mdm_unlock (mdmopendevice);    hangup (fd);    free (scratch);    syslog ((FACILITY | LOG_ERR), "GSM module not responding.");    mdmperror ("sms_serv: GSM not responding");    return (-1);  }    /*---------------------------then, check for SIM status */  sprintf (scratch, "at+cpin?\r");  tell_gsm (fd, scratch);  memset (scratch, 0, (BIGBUFF + 1));  if (get_gsm_answer (fd, scratch, BIGBUFF, 1)) {    tellsock (csfd, scratch);    /* check for "READY" -- if not, make it so */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产一区二区三区| 久久一日本道色综合| 久久99精品久久久久久国产越南| 久久久蜜桃精品| 欧美日韩另类一区| 99在线精品免费| 麻豆精品在线视频| 亚洲一区二区精品3399| 国产亲近乱来精品视频| 日韩一区二区三区三四区视频在线观看 | 国内精品免费在线观看| 亚洲免费av观看| 国产欧美综合在线观看第十页| 69av一区二区三区| 欧美自拍丝袜亚洲| 99国产欧美另类久久久精品| 国产在线视视频有精品| 蜜桃av噜噜一区| 爽好久久久欧美精品| 亚洲精品高清视频在线观看| 国产精品久久久久久久午夜片| 精品日韩欧美在线| 欧美一二三区在线| 91精品国产综合久久婷婷香蕉| 91丨九色丨蝌蚪丨老版| 菠萝蜜视频在线观看一区| 国产91精品一区二区| 国产精品一区二区在线播放| 久久精品国产一区二区三区免费看 | 在线精品观看国产| 91一区二区三区在线播放| 成人综合激情网| 国产精品中文字幕日韩精品 | 日韩精品91亚洲二区在线观看| 樱花草国产18久久久久| 国产精品国产精品国产专区不片 | 日精品一区二区三区| 一卡二卡欧美日韩| 亚洲制服丝袜av| 一区av在线播放| 午夜伊人狠狠久久| 日本成人中文字幕| 日韩电影免费在线看| 日韩av电影天堂| 久久se精品一区二区| 国内不卡的二区三区中文字幕| 精品一区二区三区久久久| 激情五月婷婷综合| 麻豆国产精品一区二区三区| 蜜臀av性久久久久蜜臀aⅴ| 久久99精品国产| 国产激情一区二区三区桃花岛亚洲| 国产一区 二区| 波多野洁衣一区| 一本久久a久久精品亚洲| 欧美亚洲动漫精品| 欧美一级免费观看| 久久午夜电影网| 中文字幕一区av| 亚洲国产美国国产综合一区二区| 三级欧美韩日大片在线看| 日本网站在线观看一区二区三区 | 极品美女销魂一区二区三区| 国内精品视频一区二区三区八戒| 成人爱爱电影网址| 91福利视频久久久久| 欧美一级日韩一级| 欧美国产一区在线| 亚洲午夜电影网| 韩国在线一区二区| 色综合久久久久| 91麻豆精品91久久久久同性| 久久久久久电影| 亚洲综合视频在线观看| 青青青伊人色综合久久| 成人一区二区视频| 欧美精品久久久久久久多人混战| 久久欧美中文字幕| 亚洲综合色婷婷| 国产真实乱偷精品视频免| 一本久道中文字幕精品亚洲嫩| 日韩一区国产二区欧美三区| 国产精品国产三级国产普通话三级 | 午夜国产精品一区| 精品一区二区日韩| 99国产精品久久久久久久久久久| 欧美疯狂做受xxxx富婆| 中文欧美字幕免费| 日韩av网站免费在线| 99精品视频一区二区三区| 欧美一级一区二区| 亚洲色图欧洲色图婷婷| 麻豆国产欧美一区二区三区| 91视频观看视频| 精品美女在线观看| 亚洲国产日韩精品| 不卡电影免费在线播放一区| 日韩三级在线观看| 亚洲国产综合在线| av欧美精品.com| 欧美精品一区二区三区在线| 亚洲国产另类精品专区| 不卡的av电影| 久久一二三国产| 日韩影院在线观看| 一本大道av一区二区在线播放| 久久综合久色欧美综合狠狠| 亚洲第一福利视频在线| 成人国产在线观看| 精品999在线播放| 天堂久久一区二区三区| 欧美最猛黑人xxxxx猛交| 国产精品视频一二三| 国产自产视频一区二区三区| 欧美一区二区视频网站| 亚洲sss视频在线视频| 日本精品视频一区二区三区| 国产精品天干天干在观线| 久久草av在线| 日韩欧美在线综合网| 性久久久久久久久久久久 | 亚洲精品一区二区三区四区高清| 亚洲高清免费视频| 色天天综合久久久久综合片| 国产精品激情偷乱一区二区∴| 国产不卡高清在线观看视频| 精品91自产拍在线观看一区| 美洲天堂一区二卡三卡四卡视频| 4438x亚洲最大成人网| 午夜精品一区二区三区电影天堂| 在线区一区二视频| 亚洲五月六月丁香激情| 欧美日韩国产一级| 香港成人在线视频| 91.麻豆视频| 日本91福利区| 日韩一卡二卡三卡国产欧美| 秋霞成人午夜伦在线观看| 91精品国产免费久久综合| 秋霞电影一区二区| 欧美精品一区二区三区久久久 | 麻豆成人久久精品二区三区小说| 欧美一区二区三区思思人| 日本午夜一区二区| 欧美成人艳星乳罩| 国产精品中文字幕一区二区三区| 中文天堂在线一区| 91麻豆自制传媒国产之光| 亚洲午夜激情网站| 日韩一级在线观看| 国产凹凸在线观看一区二区| 国产精品视频第一区| 91精品1区2区| 日本在线观看不卡视频| 精品电影一区二区| 白白色亚洲国产精品| 一区二区三区免费看视频| 欧美日韩综合不卡| 美脚の诱脚舐め脚责91 | 成人午夜视频在线| 一区二区在线观看视频在线观看| 欧美午夜精品理论片a级按摩| 亚洲va国产va欧美va观看| 久久综合999| 97国产一区二区| 视频一区中文字幕国产| 久久亚洲综合av| eeuss影院一区二区三区 | 男女男精品视频网| 久久嫩草精品久久久精品一| 99re这里都是精品| 视频在线观看91| 欧美激情一区二区在线| 欧美亚洲一区二区在线| 久久99国产精品久久99果冻传媒| 国产精品久久久久久久裸模| 欧美日韩免费电影| 成人伦理片在线| 日韩精品一级二级 | 精品sm捆绑视频| 色狠狠色狠狠综合| 韩国精品主播一区二区在线观看 | 欧美亚洲综合久久| 国产夫妻精品视频| 偷拍一区二区三区| 成人欧美一区二区三区视频网页| 7777精品伊人久久久大香线蕉经典版下载 | av中文字幕一区| 水野朝阳av一区二区三区| 欧美激情一区二区三区不卡 | 久久婷婷国产综合国色天香| 91麻豆国产福利精品| 国产在线精品一区在线观看麻豆| 一二三四社区欧美黄| 久久久久久久久久久久久久久99 | 91精品福利在线一区二区三区| 成人性生交大片免费看中文| 日韩av中文字幕一区二区三区| 综合自拍亚洲综合图不卡区| 精品国产一区二区三区不卡|