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

📄 comp.h

📁 CForms, by Lars Berntzon (Stockholm, Sweden), is a tool for building interactive forms-driven applic
💻 H
字号:
/******************************************************************************* * *		C O M P . H *		----------- * * Description: *	Headerfile for compiler. * * Revision: *	Ver	Date	By		Reason *	---	----	--		------ *	1.00	900619	Lars Berntzon	Created * ******************************************************************************/#ifndef _COMP_H#define _COMP_H#ifndef lintstatic volatile char sccs_comp_h[] = "@(#) comp.h,v 1.12 1993/07/20 23:58:12 lasse Exp";#endif#include "cforms.h"#define offsetof(type, item) (((int) &( ((type *)2)->item )) - 2)#define NEXT_VIEWPORT(ptr) ((struct viewport *)ptr->link.next)#define NEXT_PICTURE(ptr)  ((struct picture *)ptr->link.next)#define NEXT_FIELD(ptr)    ((struct field *)ptr->link.next)#define NEXT_EVENT(ptr)    ((struct event *)ptr->link.next)#define NEXT_LITERAL(ptr)  ((struct literal *)ptr->link.next)#define NEXT_CCODE(ptr)    ((struct ccode *)ptr->link.next)#define TYPE_VIEWPORT	1#define TYPE_PICTURE	2#define TYPE_FIELD	3#define TYPE_EVENT	4#define TYPE_LITERAL	5#define TYPE_CCODE	6#define memalloc(size)		_memalloc(__FILE__, __LINE__, (size))#define strduplicate(str)	_strduplicate(__FILE__, __LINE__, (str))#define reallocmem(ptr, size)		_reallocmem(__FILE__, __LINE__, (ptr), (size))#define N_KEYS	(sizeof keys / sizeof keys[0])#define N_CMDS	(sizeof lookup / sizeof lookup[0])#define CF_CENTER 2000#define CF_MIDDLE 3000#define CF_MAX    4000#define ISCENTER(pos) (((pos) > CF_CENTER / 2) && ((pos) < CF_MIDDLE))#define ISMAX(pos) (((pos) > CF_MIDDLE)  && ((pos) <= CF_MAX))#define MAXPOS	128			/* Maximum number of chars in one statement block*//* Common used struct for command parsing */struct lookup_s {    char *cmd;    int (*func)();};struct keys_s {    char *key;    char *code;};struct stmt {    struct stmt *next;		/* Next statement block in list		*/    int pos;			/* Current storage position		*/    int line;			/* Line number to this statement	*/    char txt[MAXPOS];		/* Actual text				*/};struct link {    struct link *next;    int type;    char *name;};struct literal {    struct link link;    struct xy pos;    unsigned long flags;};struct viewport {    struct link link;    struct xy pos;    struct xy size;};struct ccode {    struct link link;    struct stmt *stmt;};struct event {    struct link link;    char *type;    char *code;    int global;    struct stmt *stmt;};struct field {    struct link link;    struct xy pos;    struct event *event;    char *lvalue;    char *rvalue;    char *type;    char *value;    int len;    unsigned long flags;};struct picture {    struct link link;    struct viewport *viewport;    struct field *field;    struct literal *literal;    struct event *event;    unsigned long flags;};struct list {    struct viewport *viewport;    struct picture *picture;    struct event *event;    struct ccode *ccode;};extern int strequ(char *s1, char *s2);	/* Case insensitive strcmp	*/extern void fatal(char *str);		/* Give message and abort	*/extern void usage(void);		/* Give usage message and abort	*/extern void error(char *);		/* Give error message + lineno	*/	/* malloc with memory check	*/extern void *_memalloc(char *file, int line, int size);extern char *_strduplicate(char *file, int line, const char *str);extern void *_reallocmem(char *file, int line, void *ptr, int size);extern struct picture  *get_picture(), *unget_picture();extern struct event *get_event(), *unget_event();extern struct viewport *get_viewport(), *unget_viewport();extern struct field *get_field(), *unget_field();extern struct stmt *get_stmt();void unget_stmt();extern struct literal *get_literal(), *unget_literal();extern struct ccode *get_ccode(), *unget_ccode();extern struct link *find_name(struct link *first, char *name);extern void output(void);extern int GetPos(int *x, int *y);extern int skip_stmt(void);extern char *strip_quotes(char *str);extern char *strtoupper(char *str);extern void stmt_write(struct stmt *stmt, FILE *fp);void stmt_add(struct stmt **stmt, char *str, char *space);void debug(char *fmt, ...);#ifdef SIGNAL_INTextern int cleanup(int sig);#elseextern void cleanup(int sig);#endifextern struct list list;	/* The list of everything	*/extern char *filename;		/* Name of input file		*/#endif _/* COMP_H */

⌨️ 快捷键说明

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