⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phone.h

📁 一款基于GTK的internet phone 程序。程序分为服务器端和客户端两部分。服务器端维护用户的IP
💻 H
字号:
#include <unistd.h>#include <fcntl.h>#include <sys/ioctl.h>#include <sys/soundcard.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/socket.h>#include <sys/time.h>#include <time.h>#include <netdb.h>#include <stdlib.h>#include <stdio.h>#include <signal.h>#include <string.h>typedef unsigned char uchar;#define MAXNAMESIZE 64#define UPDATETIME 60#define IPADDRSIZE 4#define IPPORTSIZE 2#define PORT 12333#define MAXTALKTRIES 10#define TALKTRYDELAY 5#define HASHSIZE 8#define KEYSIZE 8// change following as structure changes with ipv6 or whatever#define STATSIZE (MAXNAMESIZE+12)#define CODE_IAM 1#define CODE_CALL 2#define CODE_ENTRY 3#define CODE_WHO 4#define CODE_SOUND 5#define CODE_TALK 6#define CODE_BYE 7#define CODE_IAMNOT 8#define CODE_CRYPT 9#define CODE_ADD 10#define CODE_REMOVE 11#define CODE_LIST 12#define CODE_NAME 13#define CODE_INVALID 14#define CODE_EMPTY 15#define CODE_UNKNOWN 16#define CODE_NOONE 17struct alias{	struct alias *next;	char from[MAXNAMESIZE];	char to[MAXNAMESIZE];};/* snd.c */extern void token(char *put, int len,char **take);extern char username[MAXNAMESIZE];/* rcfile.c */extern void scanrcfile(char *rcname);extern unsigned long idcode;extern void listaliases(void);extern struct alias *aliaslist;extern char *findalias(char *name);extern void addalias(char *from,char *to);/* net.c */void inittime(void);unsigned long gtime2(void);unsigned long gtime(void);int getmyip(unsigned char *dest);extern long timebase;extern void nomem(int);extern int udpsocket;extern struct sockaddr_in sender,myname,servername,buddy;extern unsigned char mesg[];extern int putmsg(struct sockaddr_in *to,unsigned char *msg,int len);extern int getmsg(int msec);extern void encrypt1(unsigned char [],unsigned char [],unsigned char []);extern void decrypt1(unsigned char [],unsigned char [],unsigned char []);extern void encryptblock(uchar *data,int size,uchar *key);extern void decryptblock(uchar *data,int size,uchar *key);extern char *legalname(unsigned char *name);extern void legalnameinit(void);extern unsigned char specialkey[4];extern void computehash(unsigned char *dest,unsigned char *name);extern unsigned char mykey[8];extern void getsocket(int);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -