date and time created 88/07/22 16:08:01 by bostic
[unix-history] / usr / src / old / as.vax / as.h
index d99fe25..5f8f091 100644 (file)
@@ -1,7 +1,11 @@
 /*
 /*
- *     Copyright (c) 1982 Regents of the University of California
- *     @(#)as.h 4.18 %G%
+ * Copyright (c) 1982 Regents of the University of California.
+ * All rights reserved.  The Berkeley software License Agreement
+ * specifies the terms and conditions for redistribution.
+ *
+ *     @(#)as.h        5.3 (Berkeley) %G%
  */
  */
+
 #define        reg     register
 
 #include <sys/types.h>
 #define        reg     register
 
 #include <sys/types.h>
@@ -14,7 +18,7 @@
 #define        NEXP            20      /* max number of expr. terms per instruction */
 #define        NARG            6       /* max number of args per instruction */
 #define        NHASH           1103    /* hash table is dynamically extended */
 #define        NEXP            20      /* max number of expr. terms per instruction */
 #define        NARG            6       /* max number of args per instruction */
 #define        NHASH           1103    /* hash table is dynamically extended */
-#define        TNAMESIZE       32      /* maximum length of temporary file names */
+#define        TNAMESIZE       256     /* maximum length of temporary file names */
 #define        NLOC            4       /* number of location ctrs */
 /*
  *     Sizes for character buffers.
 #define        NLOC            4       /* number of location ctrs */
 /*
  *     Sizes for character buffers.
@@ -55,7 +59,7 @@
 #define        XFORW   0x20    /* Was forward-referenced when undefined */
 
 #define        ERR     (-1)
 #define        XFORW   0x20    /* Was forward-referenced when undefined */
 
 #define        ERR     (-1)
-#define        NBPW    32      /* Bits per word */
+#define        NBWD    32      /* Bits per word */
 
 #define        AMASK   017
 
 
 #define        AMASK   017
 
@@ -181,7 +185,7 @@ struct symtab{
                u_char  s_jxoveralign;  /* if a JXXX, jumped over align */
                short   s_index;        /* which segment */
                struct  symtab *s_dest; /* if JXXX, where going to */
                u_char  s_jxoveralign;  /* if a JXXX, jumped over align */
                short   s_index;        /* which segment */
                struct  symtab *s_dest; /* if JXXX, where going to */
-#ifdef DJXXX
+#ifdef DEBUG
                short   s_jxline;       /* source line of the jump from */
 #endif
 };
                short   s_jxline;       /* source line of the jump from */
 #endif
 };
@@ -201,6 +205,7 @@ struct symtab{
 #define        FETCHNAME(sp)   (((struct strdesc *)(sp)->s_name)->sd_string)
 #define        STRLEN(sp)      (((struct strdesc *)(sp)->s_name)->sd_strlen)
 #define        STROFF(sp)      (((struct strdesc *)(sp)->s_name)->sd_stroff)
 #define        FETCHNAME(sp)   (((struct strdesc *)(sp)->s_name)->sd_string)
 #define        STRLEN(sp)      (((struct strdesc *)(sp)->s_name)->sd_strlen)
 #define        STROFF(sp)      (((struct strdesc *)(sp)->s_name)->sd_stroff)
+#define        STRPLACE(sp)    (((struct strdesc *)(sp)->s_name)->sd_place)
 #define        s_nmx   s_nm.n_un.n_strx        /* string table index */
 #define        s_type  s_nm.n_type             /* type of the symbol */
 #define        s_other s_nm.n_other            /* other information for sdb */
 #define        s_nmx   s_nm.n_un.n_strx        /* string table index */
 #define        s_type  s_nm.n_type             /* type of the symbol */
 #define        s_other s_nm.n_other            /* other information for sdb */
@@ -433,6 +438,7 @@ struct strdesc *savestr();
 
        extern  int     curlen;                 /*current literal storage size*/
        extern  int     d124;                   /*current pointer storage size*/
 
        extern  int     curlen;                 /*current literal storage size*/
        extern  int     d124;                   /*current pointer storage size*/
+       extern  int     maxalign;               /*maximum .align allowed*/
        
        struct  symtab  **lookup();             /*argument in yytext*/
        struct  symtab  *symalloc();
        
        struct  symtab  **lookup();             /*argument in yytext*/
        struct  symtab  *symalloc();
@@ -463,7 +469,7 @@ struct      biobuf {
        short   b_nleft;                /* Number free spaces left in b_buf */
 /* Initialize to be less than BUFSIZ initially, to boundary align in file */
        char    *b_ptr;                 /* Next place to stuff characters */
        short   b_nleft;                /* Number free spaces left in b_buf */
 /* Initialize to be less than BUFSIZ initially, to boundary align in file */
        char    *b_ptr;                 /* Next place to stuff characters */
-       char    b_buf[BUFSIZ];          /* The buffer itself */
+       char    *b_buf;                 /* Pointer to the buffer */
        off_t   b_off;                  /* Current file offset */
        struct  biobuf *b_link;         /* Link in chain for bflush() */
 };
        off_t   b_off;                  /* Current file offset */
        struct  biobuf *b_link;         /* Link in chain for bflush() */
 };
@@ -473,6 +479,7 @@ struct      biobuf {
 
        extern  BFILE   *biobufs;       /* head of the block I/O buffer chain */
        extern  int     biofd;          /* file descriptor for block I/O file */
 
        extern  BFILE   *biobufs;       /* head of the block I/O buffer chain */
        extern  int     biofd;          /* file descriptor for block I/O file */
+       extern  int     biobufsize;     /* optimal block size for I/O */
        extern  off_t   boffset;        /* physical position in logical file */
 
        /*
        extern  off_t   boffset;        /* physical position in logical file */
 
        /*