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

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

?? ipmsg.c

?? Linux下的飛鴿傳書
?? C
字號:
/* *  Copyright (C) 2006 Takeharu KATO * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright *    notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright *    notice, this list of conditions and the following disclaimer in the *    documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. *//* * Initial main.c file generated by Glade. Edit as required. * Glade will not overwrite this file. */#ifdef HAVE_CONFIG_H#  include <config.h>#endif#include <stdio.h>#include <stdlib.h>#include <unistd.h>#include <string.h>#include <errno.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <sys/file.h>#include <syslog.h>#include <gnome.h>#include <glib.h>#include "interface.h"#include "support.h"#include "common.h"#define GLADE_HOOKUP_OBJECT(component,widget,name) \  g_object_set_data_full (G_OBJECT (component), name, \    gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)#define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \  g_object_set_data (G_OBJECT (component), name, widget)gint target_tag;udp_con_t *udp_con;static udp_con_t con;voidread_message(gpointer data,	     gint source,	     GdkInputCondition condition) {  char *msg_buff=NULL;  size_t len;    gdk_input_remove(target_tag);  len=0;  msg_buff=NULL;  udp_recv_message(udp_con,&msg_buff,&len);      if (len>0) {	msg_data_t msg;	init_message_data(&msg);	dbg_out("Message arrive\n");	parse_message(udp_get_peeraddr(udp_con),&msg,msg_buff,len);	g_free(msg_buff);	msg_buff=NULL;	ipmsg_dispatch_message(udp_con,&msg);	release_message_data(&msg);      }  dbg_out("Add socket:%d\n",udp_con->soc);  target_tag=gdk_input_add(udp_con->soc,GDK_INPUT_READ,read_message,NULL);}intipmsg_send_broad_cast(const udp_con_t *con,const char *msg,size_t len){  if ( (!con) || (!msg) )    return -EINVAL;  userdb_send_broad_cast(con,msg,len);  hostinfo_send_broad_cast(con,msg,len);}intinternal_extend_memory(void **buff_p,size_t new_size,size_t orig_size,gboolean is_clear) {  void *new_buff;  void *orig_buff;  if ( (!buff_p) || (!(*buff_p)) )    return -EINVAL;  orig_buff=*buff_p;    new_buff=g_malloc(new_size);  if (!new_buff)    return -ENOMEM;  if (is_clear)    memset(new_buff,0,new_size);  memmove(new_buff,orig_buff,orig_size);  g_free(orig_buff);  *buff_p=new_buff;  return 0;}intcreate_lock_file(void){  int fd;  int rc;  fd=open(IPMG_LOCK_FILE,O_RDWR|O_EXCL|O_CREAT,(S_IRUSR|S_IWUSR));  if (fd<0) {    syslog(LOG_ERR|LOG_USER,"lock file(%s) already exist\n",IPMG_LOCK_FILE);    fd=open(IPMG_LOCK_FILE,O_RDWR);    if (fd<0)      return -errno;  }  rc=flock(fd,LOCK_EX|LOCK_NB);  if (rc<0)    return -errno;  return 0;}intrelease_lock_file(void){  int fd;  int rc;  fd=open(IPMG_LOCK_FILE,O_RDWR);  if (fd<0)    return -errno;  rc=flock(fd,LOCK_UN);  if (rc<0)    return -errno;  rc=unlink(IPMG_LOCK_FILE);  if (rc<0)    return -errno;  return 0;}intinit_ipmsg(void){  int rc;  char *cwd=NULL;  rc=get_envval("HOME",&cwd);    if (!rc)    rc=chdir(cwd);  else {    rc=get_envval("TMPDIR",&cwd);      if (!rc)      rc=chdir(cwd);    else      rc=chdir("/tmp");  }  if (rc) {    rc=-errno;    goto error_out;  }  userdb_init_userdb();  logfile_init_logfile();  init_message_info_manager();  init_sound_system(PACKAGE);#if defined(USE_OPENSSL)  pcrypt_crypt_init_keys();#endif  /*  USE_OPENSSL  */  memset(&con,0,sizeof(udp_con_t));  rc=udp_setup_server(&con,hostinfo_refer_ipmsg_port(),hostinfo_get_ipmsg_system_addr_family());  if (rc<0)    goto error_out;  rc=udp_enable_broadcast(&con);  if (rc<0)    goto error_out;  udp_con=&con;  dbg_out("Add socket:%d\n",udp_con->soc);  target_tag=gdk_input_add(udp_con->soc,GDK_INPUT_READ,read_message,NULL);  ipmsg_send_br_entry(udp_con,0);  rc=0; error_out:  if (cwd)    g_free(cwd);  return rc;}voidcleanup_ipmsg(void){  logfile_shutdown_logfile();  hostinfo_cleanup_hostinfo();  dbg_out("UI Thread ended\n");  cleanup_sound_system();  ipmsg_send_br_exit(udp_con,hostinfo_get_normal_send_flags());  userdb_cleanup_userdb();#if defined(USE_OPENSSL)  pcrypt_crypt_release_keys();#endif  /*  USE_OPENSSL  */  udp_release_connection(udp_con);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡的av电影在线观看| 久久精品噜噜噜成人88aⅴ| 日韩三级视频在线观看| 欧美老肥妇做.爰bbww| 在线观看成人小视频| 色偷偷久久一区二区三区| 成人ar影院免费观看视频| 成人听书哪个软件好| 成人丝袜视频网| 成人国产精品视频| 91在线视频网址| 99re这里都是精品| 色综合天天天天做夜夜夜夜做| 成人午夜免费视频| 一本色道a无线码一区v| 一本到不卡精品视频在线观看| 91视频在线观看| 欧美午夜影院一区| 日韩欧美在线一区二区三区| 精品久久久久久综合日本欧美| 精品福利一二区| 中文字幕第一区| 亚洲视频香蕉人妖| 亚洲成人免费影院| 日本伊人午夜精品| 国产裸体歌舞团一区二区| 成人网在线播放| 欧美日韩精品系列| 精品日本一线二线三线不卡| 久久久精品国产免大香伊| 国产精品国产馆在线真实露脸| 亚洲免费毛片网站| 日本成人在线网站| gogogo免费视频观看亚洲一| 欧美三级在线播放| 久久综合狠狠综合久久激情| 亚洲另类春色校园小说| 免费看黄色91| 色婷婷狠狠综合| 久久综合九色综合97_久久久| 亚洲另类在线视频| 国产电影一区在线| 欧美日韩国产免费| 久久久久综合网| 亚洲v日本v欧美v久久精品| 国产精品99久久不卡二区| 欧美日韩中文国产| 中文字幕一区二区三区不卡 | 波波电影院一区二区三区| 在线免费不卡视频| 国产欧美日韩在线看| 日产国产高清一区二区三区| 99精品久久只有精品| 2017欧美狠狠色| 日韩精品亚洲专区| 91亚洲精品久久久蜜桃| xnxx国产精品| 男人的天堂久久精品| 91麻豆swag| 国产日韩一级二级三级| 午夜久久久久久久久久一区二区| 成人黄色免费短视频| 精品日韩99亚洲| 青青国产91久久久久久| 欧美少妇性性性| 亚洲欧美日韩人成在线播放| 国产精品888| 精品国产一二三| 日本亚洲视频在线| 在线观看视频欧美| 亚洲人成人一区二区在线观看| 国产伦理精品不卡| 国产精品人妖ts系列视频| 天堂成人国产精品一区| 欧美日韩一区国产| 亚洲国产乱码最新视频| 欧洲激情一区二区| 亚洲码国产岛国毛片在线| 91在线视频免费91| 亚洲一区电影777| 色噜噜偷拍精品综合在线| 亚洲精品日韩一| 一本大道综合伊人精品热热| 亚洲一区二区三区自拍| 欧美自拍偷拍午夜视频| 亚洲va欧美va天堂v国产综合| 欧美在线免费视屏| 三级在线观看一区二区| 欧美一级免费大片| 国内精品国产成人国产三级粉色| 欧美精品一区二区三区蜜桃 | 亚洲免费观看视频| 日本韩国欧美一区| 午夜精品成人在线视频| 91精品久久久久久久99蜜桃| 免费在线看成人av| 久久久久久久久久电影| av资源网一区| 亚洲免费观看在线观看| 91麻豆精品91久久久久同性| 久久av中文字幕片| 国产精品视频一二三| 欧美伊人久久久久久久久影院 | 国产sm精品调教视频网站| 久久久九九九九| av福利精品导航| 亚洲成人资源在线| 久久影视一区二区| 91美女片黄在线观看| 丝袜美腿高跟呻吟高潮一区| 久久精品亚洲精品国产欧美kt∨| 91最新地址在线播放| 美女免费视频一区二区| 中文字幕日韩一区二区| 欧美一区二区三区日韩| www.日韩在线| 麻豆精品蜜桃视频网站| 亚洲欧美怡红院| 26uuu亚洲| 欧美视频一区二区| 国产传媒日韩欧美成人| 午夜久久福利影院| 国产精品成人一区二区三区夜夜夜 | 国产成人在线电影| 一区二区三区电影在线播| 精品国产乱码91久久久久久网站| 色综合久久天天综合网| 国产乱人伦偷精品视频不卡| 亚洲r级在线视频| 中文字幕日本不卡| 欧美不卡视频一区| 欧美日韩在线播| 92精品国产成人观看免费| 国产一区二区三区四区五区入口| 亚洲福利一区二区| 综合久久国产九一剧情麻豆| 国产欧美日韩激情| 精品国产不卡一区二区三区| 6080yy午夜一二三区久久| 色综合久久中文综合久久牛| 成人精品国产一区二区4080| 免费美女久久99| 亚洲国产另类精品专区| 一区二区三区在线免费观看| 国产女主播一区| 久久先锋影音av| 欧美精品一区二区三区高清aⅴ | 亚洲一区二区av在线| 一区二区在线观看视频在线观看| 亚洲卡通欧美制服中文| 欧美国产精品中文字幕| 精品国产一区二区亚洲人成毛片| 337p亚洲精品色噜噜噜| 欧美少妇bbb| 欧美日韩激情一区二区| 欧美色综合网站| 欧美日韩一区二区三区四区五区 | 老司机午夜精品99久久| 日韩黄色在线观看| 午夜精品国产更新| 蜜臀av亚洲一区中文字幕| 麻豆国产精品官网| 国产一区二区三区四区五区入口 | 91亚洲国产成人精品一区二区三| 国产成人精品一区二区三区四区| 国产乱码精品1区2区3区| 成人午夜视频福利| 色综合天天综合网国产成人综合天| 91蝌蚪porny九色| 欧美在线观看视频一区二区| 欧美乱妇20p| 欧美va亚洲va国产综合| 国产日韩欧美一区二区三区综合| 国产亚洲精品bt天堂精选| 中文字幕五月欧美| 亚洲成av人片在www色猫咪| 丝袜脚交一区二区| 国产主播一区二区| 91小视频免费看| 3d成人动漫网站| 久久精品一区八戒影视| 亚洲美女视频一区| 久久精品国产77777蜜臀| 国产a区久久久| 欧美综合亚洲图片综合区| 日韩一区国产二区欧美三区| 久久亚洲一区二区三区四区| 亚洲丝袜制服诱惑| 天天综合网 天天综合色| 国产精品一二三区在线| 色天使久久综合网天天| 精品第一国产综合精品aⅴ| 国产精品欧美一级免费| 石原莉奈在线亚洲三区| 成人做爰69片免费看网站| 欧美日韩国产精选| 国产亚洲精品久| 视频一区二区国产| 一本色道久久综合亚洲精品按摩| 精品久久久久久久久久久久久久久 |