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

📄 global.h

📁 在linux系统下实现了一个多人聊天工具的服务器端和客户端。该工具支持显示在线用户
💻 H
字号:
#ifndef _GLOBAL_H_
#define _GLOBAL_H_ 1

#include <stdio.h>
#include <stdlib.h>
#include <stdarg.h>
#include <signal.h>
#include <setjmp.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
#include <sys/param.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <sys/socket.h>
#include <stdarg.h>
#include <netinet/in.h>
#include <netdb.h>
#include <errno.h>
#include <ctype.h>
#include <locale.h>
#include <limits.h>
#include <assert.h>
#include <termios.h>
#include <term.h>
#include <curses.h>
#include <pthread.h>
#include <semaphore.h>


#define MAX_BUFF 500
#define MIN_EDITOR_ROWS 5
#define MIN_SHOW_ROWS	4
#define MAX_CMD 2
#define MAX_FILE_NAME   100
#define MAXHOST 200
#define MAXNAME 50
#define MAX_SHOW_BUFF 4
#define MAX_MES 500
#define MAX_NUM 20


#define FKEY_ENTER 13
#define FKEY_C_S   19

typedef struct _command {
	char * cmd;
	int length;
	int num;
} command;

typedef struct _rnode {
	struct _rnode * next;
	char * mes;
} rnode;

typedef struct _ecnode {
	struct _ecnode * next;
	struct _ecnode * pre;
	char ch;
} ecnode;

typedef struct _ernode {
	struct _ernode * next;
	struct _ernode * pre;
	struct _ecnode * chead;
	int line;
	int num;
} ernode;

extern WINDOW * editwin;  

extern WINDOW * showwin;

extern WINDOW * midwin;

extern sem_t full;

extern sem_t empty;

extern sem_t mutex;
		
extern int showwinrows; 

extern int rowcount;

extern int line_num;

extern int mess_in;

extern int mess_out;

extern int enable_log; 

extern int show_line;

extern char mess_buffer[][MAX_BUFF];

extern char key_buffer[];

extern char filename[];

extern char nickname[];

extern rnode * top;

extern rnode * bott;

extern ernode * current_row;

extern ecnode * current_col;

extern ernode * row_head;

extern int current_x;

extern int current_y;

extern int log_x;

extern int serfd;

extern int berror;

void * thread_keyboard();

void * thread_screen(void *arg);

void receive_mes(int connfd);

int handle_cmd();

void do_log(char *mes);

int get_int(char * str);

void finish();

#endif

⌨️ 快捷键说明

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