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

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

?? gnutella.h

?? Serveez是一個服務器框架
?? H
字號:
/* * gnutella.h - gnutella protocol header file * * Copyright (C) 2000 Stefan Jahn <stefan@lkcc.org> * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. *  * This software is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. *  * You should have received a copy of the GNU General Public License * along with this package; see the file COPYING.  If not, write to * the Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA.   * * $Id: gnutella.h,v 1.27 2001/08/01 10:16:23 ela Exp $ * */#ifndef __GNUTELLA_H__#define __GNUTELLA_H__ 1#if HAVE_CONFIG_H# include <config.h>#endif#define _GNU_SOURCE#include <time.h>/* general defines */#define NUT_VERSION   "0.48"#define NUT_CONNECT   "GNUTELLA CONNECT/0.4\n\n"#define NUT_OK        "GNUTELLA OK\n\n"#define NUT_HOSTS     "GET /%s HTTP/1."#define NUT_GIVE      "GIV "/* default values */#define NUT_PORT             6346         /* gnutella default tcp port */#define NUT_GUID             {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}#define NUT_GUID_SIZE        16           /* GUID length in bytes */#define NUT_SEARCH_INTERVAL  10           /* send search queries */#define NUT_TTL              5            /* default packet TTL */#define NUT_MAX_TTL          5            /* default maximum packet TTL */#define NUT_CONNECT_INTERVAL 2            /* reconnect to gnutella hosts */#define NUT_SEND_BUFSIZE     (1024 * 100) /* host list buffer size */#define NUT_CONNECT_TIMEOUT  20           /* close connection then */#define NUT_ENTRY_AGE        (60 * 3)     /* maximum hash entry age *//* function IDs */#define NUT_PING_REQ   0x00 /* ping */#define NUT_PING_ACK   0x01 /* ping response */#define NUT_PUSH_REQ   0x40 /* client push request */#define NUT_SEARCH_REQ 0x80 /* search request */#define NUT_SEARCH_ACK 0x81 /* search response *//* protocol flags */#define NUT_FLAG_DNLOAD 0x0001 /* downloading a file */#define NUT_FLAG_HDR    0x0002 /* http header received ? */#define NUT_FLAG_HOSTS  0x0004 /* sending host catcher list (http proto) */#define NUT_FLAG_CLIENT 0x0008 /* normal gnutella host */#define NUT_FLAG_UPLOAD 0x0010 /* uploading a file */#define NUT_FLAG_SELF   0x0020 /* connecting to a gnutella host */#define NUT_FLAG_GIVEN  0x0040 /* push request reply (GIV) *//* guid: * The header contains a Microsoft GUID (Globally Unique Identifier for  * you nonWinblows people) which is the message identifer. My crystal ball  * reports that "the GUIDs only have to be unique on the client", which  * means that you can really put anything here, as long as you keep track  * of it (a client won't respond to you if it sees the same message id  * again). If you're responding to a message, be sure you haven't seen the  * message id (from that host) before, copy their message ID into your  * response and send it on it's way. *//* * The Gnutella packets are all in little endian byte order except * ip adresses which are in network byte order (big endian). So they * need to be converted to host byte order if necessary. *//* gnutella header */typedef struct{  svz_uint8_t id[NUT_GUID_SIZE]; /* message ID */  svz_uint8_t function;          /* function ID */  svz_uint8_t ttl;               /* remaining TTL */  svz_uint8_t hop;               /* hop count */  unsigned int length;           /* data length */}nut_header_t;#define SIZEOF_NUT_HEADER (NUT_GUID_SIZE + 7)/* ping response structure */typedef struct{  unsigned short port; /* port number of the listening host */  unsigned long ip;    /* address of the listening host, network byte order */  unsigned int files;  /* number of files shared by the host */  unsigned int size;   /* total size of files shared by the host, in KB */}nut_pong_t;#define SIZEOF_NUT_PONG (14)/* search query header */typedef struct{  unsigned short speed; /* minimum speed (in kbps) */  char search[1];       /* search request (NULL terminated) */}nut_query_t;#define SIZEOF_NUT_QUERY (2)/* search record structure */typedef struct{  unsigned int index; /* file index */  unsigned int size;  /* file size */  char file[1];       /* file name (double-NULL terminated) */}nut_record_t;#define SIZEOF_NUT_RECORD (8)/* search reply header */typedef struct{  svz_uint8_t records;    /* number of records which follow this header */  unsigned short port;    /* listening port number of the host */  unsigned long ip;       /* ip address of the host, network byte order */  unsigned short speed;   /* speed of the host which found the results */  unsigned short pad;     /* dunno */  nut_record_t record[1]; /* array of records */  svz_uint8_t id[NUT_GUID_SIZE]; /* clientID128 sending the reply */}nut_reply_t;#define SIZEOF_NUT_REPLY (11)/* client push request structure */typedef struct{  /* servers GUID the client wishes the push from */  svz_uint8_t id[NUT_GUID_SIZE];  unsigned int index;     /* index of file requested */  unsigned long ip;       /* ip address of the host requesting the push */  unsigned short port;    /* port number of the host requesting the push */}nut_push_t;#define SIZEOF_NUT_PUSH (26)/* gnutella host structure */typedef struct{  svz_uint8_t id[NUT_GUID_SIZE]; /* clientID128 GUID */  unsigned long ip;              /* IP address */  unsigned short port;           /* TCP port */  time_t last_reply;             /* last packet received */}nut_host_t;/* each gnutella host connection gets such a structure */typedef struct{  unsigned dropped; /* number of dropped packets */  unsigned packets; /* number of received packets */  unsigned invalid; /* number of invalid packet types */  unsigned queries; /* number of queries */  unsigned files;   /* file at this connection */  unsigned size;    /* file size (in KB) here */  unsigned nodes;   /* number of hosts at this connection */}nut_client_t;/* sent packet structure */typedef struct{  time_t sent;        /* when was this packet sent */  svz_socket_t *sock; /* sent to this socket */}nut_packet_t;/* reply structure */typedef struct{  svz_socket_t *sock; /* routing information */  unsigned int index; /* file index to push */}nut_push_reply_t;/* files in the sharing directory */typedef struct{  off_t size;     /* file size */  unsigned index; /* database index */  char *file;     /* filename */  char *path;     /* path to file */  void *next;     /* pointer to next file entry */}nut_file_t;/* * Protocol server specific configuration. */typedef struct{  int disable;              /* if set we do not listen on the above port cfg */  int max_ttl;              /* maximum ttl for a gnutella packet */  int ttl;                  /* initial ttl for a gnutella packet */  svz_array_t *hosts;       /* array of initial hosts */  svz_uint8_t guid[NUT_GUID_SIZE]; /* this servers GUID */  svz_hash_t *route;        /* routing table */  svz_hash_t *conn;         /* connected hosts hash */  svz_array_t *search;      /* search pattern array */  int search_index;         /* current search pattern index */  int search_limit;         /* limit amount of search reply records */  svz_hash_t *packet;       /* this servers created packets */  unsigned errors;          /* routing errors */  unsigned files;           /* files within connected network */  unsigned size;            /* file size (in KB) */  unsigned nodes;           /* hosts within the connected network */  char *save_path;          /* where to store downloaded files */  char *share_path;         /* local search database path */  int dnloads;              /* concurrent downloads */  int max_dnloads;          /* maximum concurrent downloads */  int speed;                /* connection speed (KBit/s) */  int min_speed;            /* minimum connection speed for searching */  svz_array_t *extensions;  /* file extensions */  svz_hash_t *net;          /* host catcher */  int connections;          /* number of connections to keep up */  char *force_ip;           /* force the local ip to this value */  unsigned long ip;         /* calculated from `force_ip' */  int force_port;           /* force the local port to this value */  unsigned short port;      /* calculated from `force_port' */  svz_hash_t *query;        /* recent query hash */  svz_hash_t *reply;        /* reply hash for routing push requests */  svz_hash_t *push;         /* push request hash */  nut_file_t *database;     /* shared file array */  unsigned db_files;        /* number of database files */  unsigned db_size;         /* size of database in bytes */  int uploads;              /* current number of uploads */  int max_uploads;          /* maximum number of uploads */  char *net_url;            /* configurable gnutella net url */  char *net_detect;         /* detection string for the above value */}nut_config_t;/* * Basic server callback definitions. *//* detection routines */int nut_detect_proto (svz_server_t *server, svz_socket_t *sock);int nut_detect_connect (svz_socket_t *sock);/* connection routine */int nut_connect_socket (svz_server_t *server, svz_socket_t *sock);/* check request routine */int nut_check_request (svz_socket_t *sock);/* disconnection routine */int nut_disconnect (svz_socket_t *sock);/* idle routines */int nut_idle_searching (svz_socket_t *sock);int nut_connect_timeout (svz_socket_t *sock);/* server functions */int nut_init (svz_server_t *server);int nut_global_init (svz_servertype_t *server);int nut_finalize (svz_server_t *server);int nut_global_finalize (svz_servertype_t *server);int nut_server_notify (svz_server_t *server);char *nut_info_server (svz_server_t *server);char *nut_info_client (svz_server_t *server, svz_socket_t *sock);/* * This server's definition. */extern svz_servertype_t nut_server_definition;#endif /* __GNUTELLA_H__ */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕精品一区二区精品绿巨人| 91精品啪在线观看国产60岁| 午夜视频一区二区| 国产精品美女久久久久久久| 久久精品一区二区三区不卡 | 国产成人午夜视频| 理论电影国产精品| 热久久国产精品| 日本伊人精品一区二区三区观看方式| 亚洲综合一区在线| 亚洲国产一区二区a毛片| 亚洲最新视频在线播放| 久99久精品视频免费观看| 一区二区成人在线观看| 亚洲综合色成人| 亚洲国产日产av| 日韩国产欧美在线观看| 秋霞午夜鲁丝一区二区老狼| 麻豆精品一区二区三区| 国产在线精品一区二区夜色| 国产综合久久久久久久久久久久| 国产一区二区在线视频| 懂色av一区二区三区免费观看 | 国产一区二区三区香蕉 | 国产精品亚洲一区二区三区在线| 国产麻豆9l精品三级站| 成人av电影在线网| 91九色02白丝porn| 亚洲国产精品成人综合 | 一区二区在线观看av| 亚洲黄色小视频| 青青草一区二区三区| 国产精品一区二区不卡| 色综合色综合色综合| 欧美羞羞免费网站| 欧美精品一区二区在线播放| 综合激情网...| 亚洲第一福利一区| 国产精品亚洲а∨天堂免在线| 色综合久久综合网欧美综合网 | 制服丝袜成人动漫| 国产欧美日韩亚州综合| 亚洲久本草在线中文字幕| 日韩国产欧美三级| 91在线无精精品入口| 日韩亚洲欧美在线| 亚洲日本成人在线观看| 久久激五月天综合精品| 99久久精品99国产精品| 日韩久久精品一区| 亚洲国产精品久久久久秋霞影院| 国产一区高清在线| 欧美日本在线播放| 亚洲黄网站在线观看| 国产福利不卡视频| 日韩一级二级三级精品视频| 亚洲黄色尤物视频| 成人av资源网站| 精品国产1区二区| 日韩黄色免费电影| 色网站国产精品| 国产精品少妇自拍| 国产专区综合网| 欧美一级夜夜爽| 亚洲成人1区2区| 欧美影院午夜播放| 亚洲欧美日韩在线| 97久久精品人人澡人人爽| 2021中文字幕一区亚洲| 美女视频第一区二区三区免费观看网站| 91麻豆精品91久久久久久清纯| 中文字幕在线不卡一区 | 国产日韩欧美电影| 精品一区二区在线免费观看| 欧美精品aⅴ在线视频| 亚洲综合免费观看高清完整版| av不卡在线播放| 国产精品美女久久福利网站| 国产麻豆欧美日韩一区| 久久综合999| 国产在线一区观看| 久久久久亚洲蜜桃| 成人小视频免费观看| 欧美国产丝袜视频| 岛国精品一区二区| 亚洲欧洲日韩在线| 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品入口麻豆九色| 粉嫩高潮美女一区二区三区| 欧美国产精品久久| av一区二区不卡| 亚洲国产日产av| 日韩欧美国产小视频| 国产精品1区2区3区在线观看| 久久久久一区二区三区四区| 成人免费毛片app| 自拍偷拍亚洲综合| 欧美精品乱码久久久久久| 日韩av电影天堂| 久久蜜桃av一区精品变态类天堂| 国产高清久久久久| 亚洲人成伊人成综合网小说| 欧美午夜精品久久久久久超碰| 亚洲成人av一区二区三区| 91精品国产综合久久精品图片| 激情图片小说一区| 中文字幕日韩欧美一区二区三区| 色94色欧美sute亚洲线路一久| 婷婷国产v国产偷v亚洲高清| 久久综合久久综合九色| aaa欧美大片| 蜜臀久久99精品久久久久久9 | 中文字幕欧美激情一区| 色综合夜色一区| 麻豆视频一区二区| 中文字幕一区二区三区视频| 欧美专区亚洲专区| 国产又粗又猛又爽又黄91精品| 国产精品久久三| 3d动漫精品啪啪| 成人a免费在线看| 精品影视av免费| 亚洲一区在线观看免费观看电影高清 | 日韩欧美亚洲国产精品字幕久久久| 国产成人亚洲精品狼色在线| 亚洲午夜激情av| 国产精品伦一区二区三级视频| 精品视频999| 丁香六月久久综合狠狠色| 日韩专区在线视频| 亚洲免费观看视频| 2021国产精品久久精品| 欧美日韩高清影院| 欧美人妖巨大在线| 91在线观看免费视频| 韩日欧美一区二区三区| 亚洲成va人在线观看| 亚洲天堂免费看| 2021中文字幕一区亚洲| 欧美一区二区在线免费观看| 一本久道中文字幕精品亚洲嫩| 国产精品1区2区| 精品综合久久久久久8888| 污片在线观看一区二区| 一区二区三区欧美亚洲| 亚洲日本成人在线观看| 国产精品视频yy9299一区| 久久精品亚洲乱码伦伦中文| 91精品国产高清一区二区三区蜜臀 | 天天综合天天综合色| 综合激情成人伊人| 中文字幕欧美一| 亚洲欧洲色图综合| 国产精品乱码人人做人人爱 | 欧美高清在线视频| 久久久久久久久久久黄色| 欧美xxxxx裸体时装秀| 日韩欧美资源站| 7777精品伊人久久久大香线蕉| 欧美在线你懂得| 欧美日韩国产高清一区| 欧美日韩一级视频| 777午夜精品视频在线播放| 欧美高清dvd| 欧美一区二区三区日韩视频| 日韩一区二区三区四区五区六区| 欧美精品日韩一区| 欧美成人一区二区三区在线观看| 日韩写真欧美这视频| 在线成人av网站| 欧美电视剧免费全集观看| 亚洲精品在线观看视频| 国产日韩v精品一区二区| 国产精品女上位| 亚洲自拍偷拍欧美| 日本成人超碰在线观看| 国产尤物一区二区| 99精品视频一区| 欧美日韩亚洲综合一区二区三区| 欧美日韩国产天堂| 2017欧美狠狠色| 成人免费一区二区三区在线观看| 亚洲精品视频在线观看免费| 丝袜诱惑制服诱惑色一区在线观看| 蜜臀va亚洲va欧美va天堂| 国产91在线|亚洲| 91国模大尺度私拍在线视频| 在线播放国产精品二区一二区四区| 日韩三级视频在线观看| 国产精品久久久久一区二区三区 | 国产清纯白嫩初高生在线观看91| 亚洲同性同志一二三专区| 日韩精品久久理论片| 丁香六月综合激情| 欧美日韩国产中文| 国产精品视频在线看| 日韩av成人高清| 成人听书哪个软件好| 3d动漫精品啪啪1区2区免费| 国产精品毛片大码女人|