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

📄 account.h

📁 国际标准协议的
💻 H
📖 第 1 页 / 共 2 页
字号:
/* Name: account.h *//* 用户计费系统头文件,定义用户计费系统中各种公共的数据结构、常量及函数。 */#ifndef	ACCOUNT_H#define	ACCOUNT_H/*#define DEBUG   0*/#define NULL    0/* 定义数据类型 */typedef	unsigned char	BYTE;typedef	unsigned short int	WORD;	/* 双字节无符合整数 */typedef	short int	INT16;	/* 占双字节的整型数,该定义要根据编译器的字长修改 */typedef	long int	INT32;	/* 占4字节的整型数,该定义要根据编译器的字长修改 *//* 功能代码定义 *//* 功能代码不能为0 *//* 系统管理功能 */#define TRC_SYN         0x0385			/* 数据同步 */#define TRC_GQUQR       0x0386                  /* 查询分组权限 */#define TRC_GQUS	0x0387                  /* 设置分组权限 */#define TRC_CSUQR	0x0388			/* 查询消费类型 */#define TRC_CSUS	0x0389			/* 设置消费类型 *//* 用户管理功能 */#define	TRC_SCRE	0x0001			/* 简单开户 */#define	TRC_CCRE        0x0002			/* 综合开户 */#define TRC_UPSDOC	0x0003			/* 修改用户基本资料 */#define TRC_UPCDOC	0x0004			/* 修改用户综合资料 */#define TRC_GETPAS      0x0005			/* 取回密码 */#define TRC_ULOGIN      0x0006                  /* 登录 */#define TRC_DROP 	0x0007			/* 销户 */#define TRC_CHPWD       0x0008                  /* 改密码 */#define TRC_CHUSER      0x0009                  /* 改用户名 *//* 查询功能 */#define TRC_SDOCQR 	0x0065			/* 帐号基本资料查询 */#define TRC_CDOCQR 	0x0066			/* 帐号综合资料查询 */#define TRC_AMTQR       0x0067			/* 余额查询 */#define	TRC_TRQR	0x0068                  /* 明细查询 */#define	TRC_AUQR	0x0069                  /* 消费授权查询 *//* 交易功能 */#define TRC_TRS 	0x00c9                  /* 转帐 */#define	TRC_SBT		0x00ca			/* 科目划转 */#define	TRC_FLUCT	0x00cb			/* 增减 */#define	TRC_CSU		0x00cc			/* 消费 *//* 以下一些功能代码仅用于程序调试 */#define	TRC_LTRAD       0x038a 			/* 列交易流水表 */#define TRC_LMOND	0x038b 			/* 列月结记录表 */#define TRC_LTLOG       0x038c 			/* 列TLOG 文件 */#define TRC_LUSER	0x038d			/* 列用户基本信息表 */#define TRC_LUEXT	0x038e			/* 列用户综合信息表 *//* 消费类型定义 *//* 本系统保留0~10的消费类型编号,其中0不使用,其它消费类型可由其它系统自行定义 */#define TSB_DAIL                1               /* 拨号上网费 */#define	TSB_ACCCR		2		/* 开户费 */#define	TSB_WEBSP		3		/* 网上购物 */#define TSB_DATQU		4		/* 数据查询 *//* 帐号状态代码定义 */#define	TST_NORMAL		0		/* 正常,可进行交易 */#define	TST_LOCK		1		/* 冻结,不能交易 */#define	TST_DROP		2		/* 已被删除,不能交易也不能修改/* 用户级别定义 */#define TSL_NORMAL              0               /* normal */#define TSL_VIP                 1               /* VIP */#define TSL_SP                  2               /* SP */#define TSL_HC                  3               /* HC *//* 交费方式 */#define TSC_CASH		1              /* 现金 */#define TSC_BANK                2              /* 银行托收 */  #define TSC_CARD                3              /* 信用卡 */#define TSC_FREE                4              /* 免费 */  /* 未定义帐号类型 *//* 交易通信结构中的常量 */#define	L_ACCID			12#define	L_PASSWD		12#define L_RESERVE		8#define L_BIRTH			8#define L_SEX			2#define L_NAME			40#define L_DOCID			40#define L_EMAIL			40#define L_ADDR	 		80#define L_PHONE			20#define L_BANK			20#define L_ACCOUNT  		28#define L_QUESTION		40#define L_INTQUESTION           120#define L_CRAFT			20#define	L_NOTE			40 #define	LINE_PER_PAGE		10#define	TS_PORT			8810 /* 端口 *//* 交易通信结构 */typedef struct transaction{   /* 交易数据头结构,所有的交易操作具有相同的交易头。*/  INT16	Tcode;			/* in交易代码,指明要进行的交易操作 */   INT16 Version;		/* in/out数据包的版本号, 为日后版本兼容保留,  					目前填2 */  BYTE	User[L_ACCID];		/* in操作的目标用户名 */  BYTE	Operator[L_ACCID];	/* in 操作员的用户名, 若是帐号拥有者自己操作  					时该域填入@或留空 */  BYTE	Passwd[L_PASSWD];	/* in 操作员密码或用户密码 */  INT32	RetCode;		/* out 返回交易流水号,无流水号的返回 0,当同  					一交易返回的数据包重新发送时,所有重复  						发送包的流水号相同*/  INT32	Time;			/* In/out 输入客户端请求交易的时间印戳,客户端  					必须保证不同的请求具有不同的时间印戳;  					当同一交易请求数据重复发送时,具有相同的  					时间印戳,且在期间不能发出其它的交易请求。  					返回数据包不改变此数值,以便客户端验证。  				 */  BYTE	Reserve[L_RESERVE];	/* 保留 */  BYTE  Note[L_NOTE];		/* In/out输入交易说明,返回出错说明 */  /* 交易数据, 该数据结构根据不同的交易类型不同, 不同的结构存于同一存储空间 */  union  {  	  /* *************************系统管理功能*********************************** */	/* 查询分组权限 */    struct    {      INT16 Page;			/* in查询页码,首页为第1页 */      INT16 Lastpg;			/* out最后页面标志, 1-目前输出的是最后页面 */	      struct      {	INT32 Gid;			/* out 用户组编码 */	INT32 GpMask;		/* out 组掩码,在进行权限判断时,仅比较掩码为1	    					的位,这样可同时对多个组设置权限 */	INT32 Ip;			/* out 信任主机IP */	INT32 IpMask;		/* out IP掩码 */	INT32 PeriodTm;		/* out 可使用时段,0~23bit对应24小时置1为允许使用 */	BYTE  Wday;			/* out 0~6bit对应一周各天,置1为允许使用 */	INT32 SmgMask;		/* out 系统管理功能掩码,每个bit对应一个功能号 */	INT32 UmgMask;		/* out 对自己帐号使用用户管理功能掩码 */	INT32 UquMask;              /* out 对自己帐号使用查询功能掩码 */							INT32 OquMask;		/* out 对其它帐号使用查询功能掩码 */	INT32 MgaGid;		/* out 可管理的GID */	INT32 GidMask;		/* out GID掩码 */	INT32 MumgMask;		/* out 对被管理的组使用用户管理功能掩码 */	INT32 MquMask;		/* out 对被管理的组使用查询功能掩码 */	INT32 MtradMask;		/* out 对被管理的组使用交易功能掩码 */	BYTE  Reserve[L_RESERVE];	/* 保留 */ 	BYTE  Note[L_NOTE];		/* out 说明 */      } line[LINE_PER_PAGE];     }gquqr;	/* 设置分组权限 */      struct      {	INT32 Gid;			/* in 用户组编码 */	INT32 GpMask;		/* in 组掩码,在进行权限判断时,仅比较掩码为1	   					的位,这样可同时对多个组设置权限 */	INT32 Ip;			/* in 信任主机IP */	INT32 IpMask;		/* in IP掩码 */	INT32 PeriodTm;		/* in 可使用时段,0~23bit对应24小时置1为允许使用 */	BYTE  Wday;			/* in 0~6bit对应一周各天,置1为允许使用 */	BYTE  Reserve[L_RESERVE];	/* 保留 */	INT32 SmgMask;		/* in 系统管理功能掩码,每个bit对应一个功能号 */	INT32 UmgMask;		/* in 对自己帐号使用用户管理功能掩码 */	INT32 UquMask;              /* in 对自己帐号使用查询功能掩码 */							INT32 OquMask;		/* in 对其它帐号使用查询功能掩码 */	INT32 MgaGid;		/* in 可管理的GID */	INT32 GidMask;		/* in GID掩码 */	INT32 MumgMask;		/* in 对被管理的组使用用户管理功能掩码 */	INT32 MquMask;		/* in 对被管理的组使用查询功能掩码 */	INT32 MtradMask;		/* in 对被管理的组使用交易功能掩码 */	BYTE  Note[L_NOTE];		/* in 说明 */       }gqus; 	  	 /* 查询消费类型 */       struct        { 	 INT16 Page;			/* in查询页码,首页为第1页 */ 	 INT16 Lastpg;		/* out最后页面标志, 1-目前输出的是最后页面 */ 	 struct  	 { 	   INT16 CsuType;		/* out消费类型编码 */ 	   BYTE  Ecredit;		/* Out允许使用信用额标志,1-允许 */ 	   BYTE  Status;		/* Out状态,0-正常,1-锁定,2-注销 */ 	   INT32 PerCash;		/* Out每单位消费扣减现金额,0为不允许使用现金消费 */ 	   INT32 PerPoint;		/* Out每单位消费扣减积分额,0为不允许使用积分消费 */ 	   float VIP;			/* Out 用户优惠率 */           float SP;                  /* Out 用户优惠率 */	   float HC;			/* Out 用户优惠率 */	   float Normal;		/* Out 用户优惠率 */	   INT32 Umask;		/* Out 可使用的用户类型掩码 */ 	   BYTE  Note[L_NOTE];	/* Out 说明 */ 	 }line[LINE_PER_PAGE];        }csuqr;  	  	 /* 设置消费类型 */  	 struct  	 { 	   INT16 CsuType;		/* in 消费类型编码 */ 	   BYTE  Ecredit;		/* in 允许使用信用额标志,1-允许 */ 	   BYTE  Status;		/* in 状态,0-正常,1-锁定,2-注销 */ 	   INT32 PerCash;		/* in 每单位消费扣减现金额,0为不允许使用现金消费 */ 	   INT32 PerPoint;		/* in 每单位消费扣减积分额,0为不允许使用积分消费 */ 	   float VIP;			/* in 用户优惠率 */           float SP;                    /* in 用户优惠率 */	   float HC;			/* in 用户优惠率 */	   float Normal;		/* in 用户优惠率 */	   INT32 Umask;			/* in 可使用的用户类型掩码 */ 	   BYTE  Note[L_NOTE];		/* in 说明 */ 	 }csus; /* *****************************列用户基本信息表******************************* */        struct        {          INT16 Page;			/* in查询页码,首页为第1页 */          INT16 Lastpg;			/* out最后页面标志, 1-目前输出的是最后页面 */          struct          {            INT32 Uid;/* 用户id */            BYTE User[L_ACCID];	/* 用户名 */            INT32 Gid; /* 组id */           }line[LINE_PER_PAGE];        }luser;/* *******************************用户管理功能********************************* */ 	 	/* 简单开户 */	struct 	{ 	  BYTE  Passwd[L_PASSWD];	/* in用户初始密码 */	  INT32 Uid;			/* Out用户标识码 */	  INT32 Gid;			/* in用户组标识码 */	  BYTE  Ulevel;			/* 用户级别: 1-VIP, 2-SP, 3-HC, 4-normal */	  INT32 PeriodTm;		/* In可使用时段,0~23bit对应24小时置1为允许	  					使用 */	  BYTE	Wday;	  		/* In 0~6bit对应一周各天,置1为允许使用 */	  BYTE  Status;			/* In 帐号状态 */	  BYTE  Type;			/* In 帐号类型 */	  BYTE  CostType;		/* In 交费方式 */	  INT32 AccvalidTm;		/* In 帐号起始有效时间 */	  INT32 AccexpTm;		/* In 帐号失效时间 */	  INT32 CashAmt;		/* In现金余额 */	  INT32 PointAmt;		/* In积分余额 */	  INT32 Credit;			/* In信用额 */	  INT32 PerLimit;		/* In每次最大消费额 */	  INT32 DayLimit;		/* In每天最大消费额 */	}scre;	  	/* 综合开户 */	struct	{	  BYTE  Passwd[L_PASSWD];	/* in用户初始密码 */	  INT32 Uid;			/* Out用户标识码 */	  INT32 Gid;			/* in用户组标识码 */	  BYTE  Ulevel;			/* 用户级别: 1-VIP, 2-SP, 3-HC, 4-normal */	  INT32 PeriodTm;		/* In可使用时段,0~23bit对应24小时置1为允许	  					使用 */	  BYTE	Wday;	  		/* In 0~6bit对应一周各天,置1为允许使用 */	  BYTE  Status;			/* In 帐号状态 */	  BYTE  Type;			/* In 帐号类型 */	  BYTE  CostType;		/* In 交费方式 */	  INT32 AccvalidTm;		/* In 帐号起始有效时间 */	  INT32 AccexpTm;		/* In 帐号失效时间 */	  INT32 CashAmt;		/* In现金余额 */	  INT32 PointAmt;		/* In积分余额 */	  INT32 Credit;			/* In信用额 */	  INT32 PerLimit;		/* In每次最大消费额 */	  INT32 DayLimit;		/* In每天最大消费额 */	  BYTE Name[L_NAME];		/* in 用户全名 */

⌨️ 快捷键说明

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