Annotation of coherent/b/lib/libc/sys/shmop.c, revision 1.1.1.1

1.1       root        1: /*
                      2:  * (User) Shared Memory Control Functions
                      3:  *
                      4:  *     Note: shmget() must be first function called.
                      5:  *
                      6:  * $Log:       shmop.c,v $
                      7:  * Revision 1.1  92/06/30  10:32:03  bin
                      8:  * Initial revision
                      9:  * 
                     10:  * 87/04/26    Allan Cornish
                     11:  * Support for 32 bit 'key' added to shmget.
                     12:  */
                     13: 
                     14: #include <sys/shm.h>
                     15: 
                     16: int  shmfd   = -1;
                     17: static char shmdev[] = "/dev/shm";
                     18: 
                     19: /*
                     20:  * Shared Memory Control Operations.
                     21:  */
                     22: 
                     23: shmctl( shmid, cmd, buf )
                     24: 
                     25: int shmid;
                     26: int cmd;
                     27: int buf;
                     28: 
                     29: {
                     30:        int parm[4];
                     31: 
                     32:        if ( shmfd < 0 )
                     33:                return -1;
                     34: 
                     35:        parm[0] = -1;
                     36:        parm[1] = shmid;
                     37:        parm[2] = cmd;
                     38:        parm[3] = buf;
                     39: 
                     40:        ioctl( shmfd, SHMCTL, parm );
                     41:        return parm[0];
                     42: }
                     43: 
                     44: /*
                     45:  * Get Shared Memory Segment.
                     46:  */
                     47: 
                     48: shmget( key, size, shmflg )
                     49: 
                     50: key_t key;
                     51: int size;
                     52: int shmflg;
                     53: 
                     54: {
                     55:        int parm[5];
                     56: 
                     57:        if ( shmfd < 0 ) {
                     58: 
                     59:                if ( (shmfd = open(shmdev, 2)) < 0 ) {
                     60: 
                     61:                        perror( shmdev );
                     62:                        return -1;
                     63:                }
                     64:        }
                     65: 
                     66:        parm[0] = -1;
                     67:        parm[1] = key;
                     68:        parm[2] = key >> 16;
                     69:        parm[3] = size;
                     70:        parm[4] = shmflg;
                     71: 
                     72:        ioctl( shmfd, SHMGET, parm );
                     73:        return parm[0];
                     74: }

unix.superglobalmegacorp.com

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