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

📄 source.h

📁 harvest是一个下载html网页得机器人
💻 H
字号:
/* SOURCE.H: Entity and source control block structures and definitions.*/#define ENTHASH 503         /* Size of entity hash table.  Must be prime. *//* Entity storage class values for estore member of entity structure. */#define EST   1               /* String: Tag (usually a fixed STARTGI). */          /* <MDENTITY sets these:> */#define ESMD  2               /* String: Markup declaration. */#define ESMS  3               /* String: Marked section. */#define ESM   4               /* String: ordinary text. */               /* <ENTOPEN treats these specially:> */#define ESS   5               /* ETD: Start-tag. */#define ESE   6               /* ETD: End-tag. */#define ESI   7               /* String: PI. */#define ESX   8               /* String: SDATA general entity. */#define ESC   9               /* String: CDATA general entity. */          /* </MDENTITY> <MDEXTID sets these:> */#define ESFM 10               /* LPU: minimum external (file) storage class. */#define ESN  10               /* XCB: N/C/SDATA or SUBDOC control block. */               /* </ENTOPEN> */#define ESF  11               /* LPU: General entity. */#define ESP  12               /* LPU: Parameter entity. */#define ESD  13               /* LPU: Document type definition. */#define ESL  14               /* LPU: Link process definition. */#define ESK  15               /* LPU: Data content notation. */                      /* </MDEXTID> */union etext {                 /* Entity text. */     UNIV x;                  /* External ID generated by system. */     UNCH *c;                 /* Character string. */     struct ne *n;            /* N/C/SDATA or SUBDOC entity control block. */};#define ETEXTSZ sizeof(union etext)struct entity {               /* Entity control block. */     struct entity *enext;    /* Next entity in chain. */     UNCH *ename;	      /* Entity name with length and EOS. */     UNCH estore;             /* Storage class (see values above). */     UNCH dflt;		      /* Declared as default entity. */     UNCH mark;		      /* For use by for sgmlment. */     union etext etx;         /* Entity text. */};#define ENTSZ sizeof(struct entity)typedef struct entity *PECB;  /* Ptr to entity control block. */typedef struct entity **TECB; /* Table of entity control blocks. */struct source {               /* Source control block. */     struct entity ecb;       /* Entity control block. */     unsigned long rcnt;      /* Source record number. */     int ccnt;                /* Source record chars since last RS. */     int curoff;              /* Offset of curchar (chars read in this block).*/     UNCH curchar;            /* Current character. */     UNCH nextchar;	      /* If curchar was DELNONCH, next character. */     UNIV fcb;                /* SGMLIO fcb ptr returned by OPEN. */     UNCH *fbuf;              /* 1st char in buffer (0=PEND) or entity text. */     UNCH *fpos;              /* Current char in buffer or entity text. */     UNCH pushback;	      /* Character before pend position */     char copied;	      /* Is this a copy of the internal entity? */};#define SCBSZ sizeof(struct source)typedef struct source *PSCB;  /* Ptr to source control block. */extern int es;                /* Index of current source in stack. */extern struct source *scbs;  /* Stack of open sources ("SCB stack"). *//* Member definitions for source and entity control blocks.*/#define SCB (scbs[es])          /* Ptr to current source control block. */#define ECB     SCB.ecb       /* Pointer to current entity control block. */#define FBUF    SCB.fbuf      /* Pointer to start of entity buffer. */#define FPOS    SCB.fpos      /* Pointer to current char of current source. */#define RSCC    SCB.ccnt      /* CCNT at start of block (across EOB/EOS/EOF). */#define CCO     SCB.curoff    /* Offset in read buffer of current char. */#define CC      SCB.curchar   /* Current character of current source entity. */#define NEXTC   SCB.nextchar  /* Next character in current source entity. */#define CCNT   (SCB.ccnt+CCO) /* Position of CC in current record (RS=0). */#define RCNT    SCB.rcnt      /* Position of record in entity (origin=1). */#define SCBFCB  SCB.fcb       /* Current file control block (if FILESW). */#define ECBPTR ((ECB.enext))  /* Pointer to this entity's ECB. */#define ENTITY ((ECB.ename))  /* Current entity name. */#define FILESW (ECB.estore>=ESFM) /* 1=Entity is external file; 0=internal. */#define NEWCC     (++FPOS)    /* Get next current character. */#define REPEATCC  (--FPOS)    /* Repeat previous current character. */#define COPIEDSW SCB.copied   /* Non-zero means entity was copied. */struct srh {                  /* Short reference map header. */     struct srh *enext;       /* Next short reference map in chain. */     UNCH *ename;	      /* Short reference map name. */     TECB srhsrm;             /* Ptr to short reference map. */};#define SRHSZ (sizeof(struct srh))typedef struct srh *PSRH;     /* Ptr to short reference map header. */#define SRMNULL (&dumpecb) /* Dummy ptr to empty short reference map. *//* Definitions for ENTOPEN/ENTREF return codes.*/#define ENTUNDEF -1           /* Callers of ENTOPEN: entity undefined. */#define ENTLOOP  -2           /* ENTOPEN: endless loop entity. */#define ENTMAX   -3           /* ENTOPEN: too many open entities. */#define ENTFILE  -4           /* ENTOPEN: file I/O error. */#define ENTDATA  -5           /* ENTOPEN: CDATA or SDATA entity. */#define ENTPI    -6           /* ENTOPEN: PI entity. *//* Definitions for ENTDATA switches set in contersw.*/#define CDECONT   2           /* 0010 CDATA entity referenced. */#define SDECONT   4           /* 0100 SDATA entity referenced. */#define NDECONT   8           /* 1000 NDATA entity referenced. *//* Definitions for manipulating signed source character counters.*/#define CTRSET(CTR) (CTR = (int) -(FPOS+1-FBUF))  /* Init source char ctr. */#define CTRGET(CTR) (CTR + (int)  (FPOS+1-FBUF))  /* Read source char ctr. */

⌨️ 快捷键说明

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