Annotation of researchv9/jerq/sgs/libsdp/sdplib.c, revision 1.1.1.1

1.1       root        1: static char ID[] = "@(#) sdplib.c: 1.1 3/16/82";
                      2: #include <stdio.h>
                      3: #include <sys/types.h>
                      4: #include <sys/dir.h>
                      5: #include "sdp.h"
                      6: #include "define2.h"
                      7: 
                      8: #ifdef SHORT
                      9: #define        LB01            "LB01 "
                     10: #define LB02           "LB02 "
                     11: #define LB03           "LB03 "
                     12: #define LB04           "LB04 "
                     13: #define LB05           "LB05 "
                     14: #define LB06           "LB06 "
                     15: #define LB07           "LB07 "
                     16: #define LB08           "LB08 "
                     17: #define LB09           "LB09 "
                     18: #define LB10           "LB10 "
                     19: #define LB11           "LB11 "
                     20: #else
                     21: #define        LB01    "%s","LB01 -- fail to malloc\n"
                     22: #define LB02   "LB02 -- close error: %d\n%d\n",errno,designator
                     23: #define LB03   "LB03 -- creat error: %d\n%s\t%o\n",errno,name,mode
                     24: #define LB04   "LB04 -- fail to close in creat routine: %d\n%s\t%d\n",errno,name,fildes
                     25: #define LB05   "LB05 -- open error: %d\n%s\t%d\n",errno,name,perms
                     26: #define LB06   "LB06 -- read error: %d\n%d\t%o\t%d\n",errno,designator,buffer,nbytes
                     27: #define LB07   "LB07 -- lseek error: %d\n%d\t%ld\t\n",errno,designator,position
                     28: #define LB08   "LB08 -- unlink error: %d\n%s\n",errno,name
                     29: #define LB09   "LB09 -- write error: %d\n%d\t%o\t%d\n",errno,designator,buffer,nbytes
                     30: #define LB10   "LB10 -- size of name exceeds maximum length\n%s\t%d\n",name,DIRSIZ
                     31: #define LB11   "LB11 -- fail to allocate space for name\n",name
                     32: #endif
                     33: 
                     34: 
                     35: extern int errno ;
                     36: extern struct LIBFILE *Glib_file ;
                     37: extern close() ;
                     38: extern FD creat() ;
                     39: extern free() ;
                     40: extern long lseek() ;
                     41: extern char *malloc() ;
                     42: extern FD open() ;
                     43: extern read() ;
                     44: extern unlink() ;
                     45: extern write() ;
                     46: 
                     47: int *
                     48: ALLOC(size)                    /* allocate memory */
                     49: int size;
                     50: {
                     51:        register char   *ptr;
                     52: 
                     53:        ptr = malloc(size);
                     54:        if(ptr == NULL)
                     55:                ERR_RET(LB01,NULL)
                     56:        return((int *)ptr);
                     57: }
                     58: 
                     59: 
                     60: 
                     61: char *                         /* header file name string */
                     62: BUILDNAME(name,ordinal)
                     63: char   *name;
                     64: int    ordinal ;
                     65: {
                     66:        register int    size;
                     67:        int             *build;
                     68:        register char   *i ;
                     69:        char            buf[COUNT] ;
                     70: 
                     71:        if(ordinal == -1)
                     72:                sprintf(buf,"%s",SUFFIX) ;
                     73:        else
                     74:                sprintf(buf,"%d",ordinal) ;
                     75:        size = 0 ;
                     76:        for(i = name; *i != 0; i++)
                     77:                if(*i == '/')
                     78:                        size = 0 ;
                     79:                else
                     80:                        size++ ;
                     81:        if(size + strlen(buf) > DIRSIZ)
                     82:                ERR_RET(LB10,NULL)
                     83:        if((build = ALLOC(strlen(name) + strlen(buf) + 1)) == NULL)
                     84:                ERR_RET(LB11,NULL)
                     85:        sprintf(build,"%s%s",name,buf);
                     86:        return((char *)build);
                     87: }
                     88: 
                     89: 
                     90: 
                     91: int
                     92: CLOSE(designator)              /* close file */
                     93: FD designator;
                     94: {
                     95:        if(close(designator) == -1)
                     96:                ERR_RET(LB02,ERROR)
                     97:        return(SUCCESS);
                     98: }
                     99: 
                    100: 
                    101: 
                    102: int
                    103: CREATE(name,mode)              /* create file */
                    104: char   *name;
                    105: int    mode ;
                    106: {
                    107:        register FD     fildes;
                    108: 
                    109:        fildes = creat(name,mode) ;
                    110:        if(fildes == -1)
                    111:                ERR_RET(LB03,ERROR)
                    112:        if(close(fildes) == -1)
                    113:                ERR_RET(LB04,ERROR)
                    114:        return(SUCCESS);
                    115: }
                    116: 
                    117: 
                    118: 
                    119: 
                    120: 
                    121: 
                    122: FREE(ptr)                      /* free memory */
                    123: char *ptr;
                    124: {
                    125:        free(ptr);
                    126:        return;
                    127: }
                    128: 
                    129: 
                    130: 
                    131: FD
                    132: OPEN(name,perms)               /* open file */
                    133: char   *name;
                    134: int    perms ;
                    135: {
                    136:        register FD     fildes;
                    137: 
                    138:        fildes = open(name,perms) ;
                    139:        if(fildes == -1)
                    140:                ERR_RET(LB05,ERROR)
                    141:        return(fildes);
                    142: }
                    143: 
                    144: 
                    145: 
                    146: int
                    147: READ(designator,buffer,nbytes) /* read file */
                    148: FD designator;
                    149: int nbytes;
                    150: char *buffer;
                    151: {
                    152:        register int    byterd;
                    153: 
                    154:        if( (byterd = read(designator,buffer,nbytes)) == -1 )
                    155:                ERR_RET(LB06,ERROR)
                    156:        return(byterd) ;
                    157: }
                    158: 
                    159: 
                    160: 
                    161: 
                    162: int
                    163: SEEK(designator,position)      /* seek in file */
                    164: FD designator;
                    165: long position;
                    166: {
                    167: 
                    168:        if(lseek(designator,position,0) != position)
                    169:                ERR_RET(LB07,ERROR)
                    170:        return(SUCCESS);
                    171: }
                    172: 
                    173: 
                    174: int
                    175: UNLINK(name)                   /* unlink file */
                    176: char *name;
                    177: {
                    178:        if(unlink(name) != 0)
                    179:                ERR_RET(LB08,ERROR)
                    180:        return(SUCCESS);
                    181: }
                    182: 
                    183: 
                    184: 
                    185: int
                    186: WRITE(designator,buffer,nbytes)        /* write file */
                    187: FD designator;
                    188: char *buffer;
                    189: int nbytes;
                    190: {
                    191:        if(write(designator,buffer,nbytes) != nbytes)
                    192:                ERR_RET(LB09,ERROR)
                    193:        return(SUCCESS);
                    194: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.