[BACK]Return to ibcs2_stat.h CVS log [TXT][DIR] Up to [local] / sys / compat / ibcs2

Annotation of sys/compat/ibcs2/ibcs2_stat.h, Revision 1.1.1.1

1.1       nbrk        1: /*     $OpenBSD: ibcs2_stat.h,v 1.2 1996/08/02 20:35:11 niklas Exp $   */
                      2: /*     $NetBSD: ibcs2_stat.h,v 1.2 1994/10/26 02:53:03 cgd Exp $       */
                      3:
                      4: /*
                      5:  * Copyright (c) 1994 Scott Bartram
                      6:  * All rights reserved.
                      7:  *
                      8:  * Redistribution and use in source and binary forms, with or without
                      9:  * modification, are permitted provided that the following conditions
                     10:  * are met:
                     11:  * 1. Redistributions of source code must retain the above copyright
                     12:  *    notice, this list of conditions and the following disclaimer.
                     13:  * 2. Redistributions in binary form must reproduce the above copyright
                     14:  *    notice, this list of conditions and the following disclaimer in the
                     15:  *    documentation and/or other materials provided with the distribution.
                     16:  * 3. All advertising materials mentioning features or use of this software
                     17:  *    must display the following acknowledgement:
                     18:  *      This product includes software developed by Scott Bartram.
                     19:  * 4. The name of the author may not be used to endorse or promote products
                     20:  *    derived from this software without specific prior written permission
                     21:  *
                     22:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
                     23:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
                     24:  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
                     25:  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
                     26:  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
                     27:  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
                     28:  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
                     29:  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
                     30:  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
                     31:  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
                     32:  */
                     33:
                     34: #ifndef        _IBCS2_STAT_H
                     35: #define        _IBCS2_STAT_H
                     36:
                     37: #include <compat/ibcs2/ibcs2_types.h>
                     38:
                     39: struct ibcs2_stat {
                     40:        ibcs2_dev_t     st_dev;
                     41:        ibcs2_ino_t     st_ino;
                     42:        ibcs2_mode_t    st_mode;
                     43:        ibcs2_nlink_t   st_nlink;
                     44:        ibcs2_uid_t     st_uid;
                     45:        ibcs2_gid_t     st_gid;
                     46:        ibcs2_dev_t     st_rdev;
                     47:        ibcs2_off_t     st_size;
                     48:        ibcs2_time_t    st_atim;
                     49:        ibcs2_time_t    st_mtim;
                     50:        ibcs2_time_t    st_ctim;
                     51: };
                     52:
                     53: #define ibcs2_stat_len (sizeof(struct ibcs2_stat))
                     54:
                     55: #define IBCS2_S_IFMT           0xf000
                     56: #define IBCS2_S_IFIFO          0x1000
                     57: #define IBCS2_S_IFCHR          0x2000
                     58: #define IBCS2_S_IFDIR          0x4000
                     59: #define IBCS2_S_IFBLK          0x6000
                     60: #define IBCS2_S_IFREG          0x8000
                     61: #define IBCS2_S_IFSOCK         0xc000
                     62:
                     63: #define IBCS2_S_IFNAM          0x5000
                     64: #define IBCS2_S_IFLNK          0xa000
                     65:
                     66: #define IBCS2_S_ISUID          0x0800
                     67: #define IBCS2_S_ISGID          0x0400
                     68: #define IBCS2_S_ISVTX          0x0200
                     69:
                     70: #define IBCS2_S_IRWXU          0x01c0
                     71: #define IBCS2_S_IRUSR          0x0100
                     72: #define IBCS2_S_IWUSR          0x0080
                     73: #define IBCS2_S_IXUSR          0x0040
                     74: #define IBCS2_S_IRWXG          0x0038
                     75: #define IBCS2_S_IRGRP          0x0020
                     76: #define IBCS2_S_IWGRP          0x000f
                     77: #define IBCS2_S_IXGRP          0x0008
                     78: #define IBCS2_S_IRWXO          0x0007
                     79: #define IBCS2_S_IROTH          0x0004
                     80: #define IBCS2_S_IWOTH          0x0002
                     81: #define IBCS2_S_IXOTH          0x0001
                     82:
                     83: #define IBCS2_S_ISFIFO(mode)   (((mode) & IBCS2_S_IFMT) == IBCS2_S_IFIFO)
                     84: #define IBCS2_S_ISCHR(mode)    (((mode) & IBCS2_S_IFMT) == IBCS2_S_IFCHR)
                     85: #define IBCS2_S_ISDIR(mode)    (((mode) & IBCS2_S_IFMT) == IBCS2_S_IFDIR)
                     86: #define IBCS2_S_ISBLK(mode)    (((mode) & IBCS2_S_IFMT) == IBCS2_S_IFBLK)
                     87: #define IBCS2_S_ISREG(mode)    (((mode) & IBCS2_S_IFMT) == IBCS2_S_IFREG)
                     88: #define IBCS2_S_ISSOCK(mode)   (((mode) & IBCS2_S_IFMT) == IBCS2_S_IFSOCK)
                     89:
                     90: #endif /* _IBCS2_STAT_H */

CVSweb