Annotation of coherent/a/usr/man/MULTI/access, revision 1.1

1.1     ! root        1: 
        !             2: 
        !             3: access()               COHERENT System Call              access()
        !             4: 
        !             5: 
        !             6: 
        !             7: 
        !             8: Check if a file can be accessed in a given mode
        !             9: 
        !            10: #iinncclluuddee <aacccceessss.hh>
        !            11: iinntt aacccceessss(_f_i_l_e_n_a_m_e, _m_o_d_e) cchhaarr *_f_i_l_e_n_a_m_e; iinntt _m_o_d_e;
        !            12: 
        !            13: access checks whether a file  or directory can be accessed in the
        !            14: mode you  wish.  filename is  the full path  name of the  file or
        !            15: directory you wish to check.  mode  is the mode in which you wish
        !            16: to access filename, as follows:
        !            17: 
        !            18: 
        !            19:          AARREEAADD     Read a file
        !            20:          AALLIISSTT     List the contents of a directory
        !            21: 
        !            22:          AAWWRRIITTEE    Write into a file
        !            23:          AADDEELL      Delete files from a directory
        !            24: 
        !            25:          AAEEXXEECC     Execute a file
        !            26:          AASSRRCCHH     Search a directory
        !            27: 
        !            28:          AAAAPPPPNNDD    Append to a file
        !            29:          AACCRREEAATT    Create a file in a directory
        !            30: 
        !            31: 
        !            32: The header file access.h defines these values, which may be logi-
        !            33: cally combined to produce the mode argument.
        !            34: 
        !            35: If mode  is set to  zero, access tests only  whether filename ex-
        !            36: ists, and  whether you have permission  to search all directories
        !            37: that lead to it.
        !            38: 
        !            39: access returns zero if  filename can be accessed in the requested
        !            40: mode, and a number greater than zero if it cannot.
        !            41: 
        !            42: access uses the  real user id and real group  id (rather than the
        !            43: effective  user  id  and effective  group  id),  so  set user  id
        !            44: programs can use it.
        !            45: 
        !            46: ***** Example *****
        !            47: 
        !            48: The following example checks if a  file can be accessed in a par-
        !            49: ticular manner.
        !            50: 
        !            51: 
        !            52: #include <access.h>
        !            53: #include <stdio.h>
        !            54: 
        !            55: 
        !            56: 
        !            57: main(argc, argv)
        !            58: int argc; char *argv[];
        !            59: {
        !            60:     int mode;
        !            61:     extern int access();
        !            62: 
        !            63: 
        !            64: COHERENT Lexicon                                           Page 1
        !            65: 
        !            66: 
        !            67: 
        !            68: 
        !            69: access()               COHERENT System Call              access()
        !            70: 
        !            71: 
        !            72: 
        !            73: 
        !            74: 
        !            75: 
        !            76:     if (argc != 3) {
        !            77:               fprintf(stderr, "Usage: access filename mode\n");
        !            78:               exit(1);
        !            79:     }
        !            80: 
        !            81: 
        !            82: 
        !            83:     switch (*argv[2]) {
        !            84:     case 'x':
        !            85:               mode = AEXEC;
        !            86:               break;
        !            87: 
        !            88: 
        !            89: 
        !            90:     case 'w':
        !            91:               mode = AWRITE;
        !            92:               break;
        !            93: 
        !            94: 
        !            95: 
        !            96:     case 'r':
        !            97:               mode = AREAD;
        !            98:               break;
        !            99: 
        !           100: 
        !           101: 
        !           102:     default:
        !           103:               fprintf(stderr,
        !           104:               "modes: x = execute, w = write, r = read\n");
        !           105:               exit(1);
        !           106:               break;
        !           107:     }
        !           108: 
        !           109: 
        !           110: 
        !           111:     if (access(argv[1], mode)) {
        !           112:               printf("file %s not found in mode %d\n", argv[1], mode);
        !           113:               exit(0);
        !           114:     } else
        !           115:               printf("file %s accessible in mode %d\n",
        !           116:                argv[1], mode);
        !           117:     exit(0);
        !           118: }
        !           119: 
        !           120: 
        !           121: ***** See Also *****
        !           122: 
        !           123: access.h, COHERENT system calls, path()
        !           124: 
        !           125: 
        !           126: 
        !           127: 
        !           128: 
        !           129: 
        !           130: COHERENT Lexicon                                           Page 2
        !           131: 
        !           132: 

unix.superglobalmegacorp.com

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