mars-nwe/include/trustee.h

62 lines
2.1 KiB
C

/* trustee.h 13-Apr-00 */
#ifndef _TRUSTEE_H_
#define _TRUSTEE_H_
/* some TRUSTEE defines */
#define TRUSTEE_R 0x01 /* file Read rights */
#define TRUSTEE_W 0x02 /* file Write rights */
#define TRUSTEE_O 0x04 /* file Open rights */
#define TRUSTEE_C 0x08 /* file/dir Creat rights */
#define TRUSTEE_E 0x10 /* file/dir Erase rights */
#define TRUSTEE_A 0x20 /* Access control,change trustees,inherited rights */
#define TRUSTEE_F 0x40 /* File scan rights */
#define TRUSTEE_M 0x80 /* Modify filename, attrib rights */
/* ......extended Trustees ................. */
#define TRUSTEE_S 0x100 /* Supervisor rights */
/* mars_nwe only, idea and patches from Christoph Scheeder */
#define TRUSTEE_T 0x200 /* See this dir/file only */
#define MAX_TRUSTEE_MASK 0x1FF
typedef struct {
uint32 id;
int trustee;
} NW_OIC;
extern void tru_free_cache(int volume);
extern void tru_init_trustees(int count, uint32 *grps);
extern unsigned int tru_vol_sernum(int volume, int mode);
extern void tru_free_file_trustees_from_disk(int volume,
int dev, ino_t inode);
extern int tru_del_trustee(int volume, uint8 *unixname,
struct stat *stb, uint32 id);
extern int tru_get_id_trustee(int volume, uint8 *unixname,
struct stat *stb, uint32 id);
extern int tru_add_trustee_set(int volume, uint8 *unixname,
struct stat *stb,
int count, NW_OIC *nwoic);
extern int tru_get_trustee_set(int volume, uint8 *unixname,
struct stat *stb,
int sequence,
int maxcount, uint32 *ids, int *trustees);
extern int tru_set_inherited_mask(int volume, uint8 *unixname,
struct stat *stb, int new_mask);
extern int tru_get_inherited_mask(int volume, uint8 *unixname,
struct stat *stb);
extern int tru_get_eff_rights(int volume, uint8 *unixname, struct stat *stb);
extern int tru_eff_rights_exists(int volume, uint8 *unixname, struct stat *stb,
int lookfor);
#endif