common.h

来自「采用非对称密钥加密方式的应用系统认证系统」· C头文件 代码 · 共 101 行

H
101
字号
/**********************************************************************/
/*      安 全 验 证 服 务                                             */
/*                                                                    */
/*           作  者 :罗小江                                          */ 
/*           2001年10月 于 南京                                       */
/*                                                                    */
/**********************************************************************/

/*包含的各种头文件*/
#include <pthread.h>
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/socket.h>
#include <sys/time.h>
#include <sys/un.h>
#include <time.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <errno.h>
#include <fcntl.h>
#include <netdb.h>
#include <signal.h>
#include <string.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <strings.h>
#include <semaphore.h>
#include <unistd.h>
#include <sys/shm.h>
#include <sys/sem.h>
#include <sys/ipc.h>
#include <sys/dir.h>
#include <sys/ioctl.h>
#include "rsaeuro.h" 

/*定义全局常量*/
#define LISTEN_PORT 10027
#define MAX_REQUEST 10   /* 最大同时连接请求数 */ 
#define MSGLEN_BYTES 4    /*读入MsgLen字段长度*/
#define MAX_BUFFER_SIZE  4096
#define MAX_TAIL_ROWS  100
#define MAX_TAIL_MESSAGE_SIZE  100
#define PUBLICKEY_LENGTH       (sizeof(R_RSA_PUBLIC_KEY)) /*存储所需字节数*/
#define KEY_BITS  1024

#define TIME_OUT    10

#define CTL_SHM_KEY 1018
#define TAIL_SHM_KEY 1019

/*控制各种DEBUG*/
#define DEBUG_CTL      /*各种调度、控制信息*/
#define DEBUG_LISTENOR /*侦听进程各种信息*/
#define DEBUG_SHM      /*共享内存各种信息*/ 
#define DEBUG_DATA     /*各种包请求信息*/
#define DEBUG_AUTHEN   /*各种验证成功、失败信息*/

/*定义各种结构体*/
typedef struct ctl_info
{
	int IsStop; /*是否停止服务*/
	int IsLog;  /*是否登记日志*/
	int IsDebug;/*是否发送各种调试信息*/
	pid_t pid;
} CTL_INFO;

typedef struct tail_message
{
	int type; 
	char data[MAX_TAIL_MESSAGE_SIZE];  
} TAIL_MESSAGE;

typedef struct tail_info
{
	int pos; 
	TAIL_MESSAGE queue[MAX_TAIL_ROWS]; 
} TAIL_INFO;

/*定义各种公共函数*/

/*将十进制转化为十六进制*/
int  IntToHex(char *bufback, int iValue);
/*将十六进制转化为十进制, len为十六进制数的长度,返回转化后的十进制值*/
int  HexToInt(char *buf, int len); 
/*显示信息ShowMessage,perror,printf()*/
void  CommonShow(char*);        
void SubShow(int tid, char *w);
/*mcm加密方式的解密函数*/              
void decodekey(char *source,char *dest);
/*设置非阻塞方式*/
int SetNonblock(int fd);
/*设置非阻塞方式*/
int SetBlock(int fd);
/*从套接字读入n个字节,返回已读到的字节数,为0:已到文件尾或socket已断开,小于0:发生错误*/
int Readn(int Fd,char *Buf,int n);
/**/
void SysTime(int *year,int *mon,int *day,int *hour,int *min,int *sec);
void GetSysTime(char *t);

⌨️ 快捷键说明

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