]> Pileus Git - ~andy/linux/blobdiff - fs/cifs/cifsacl.h
Merge branch 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek...
[~andy/linux] / fs / cifs / cifsacl.h
index c4ae7d0365631f5d01db610ef3153502f2531c9d..5c902c7ce5247a8df78db13072c0c7941e964086 100644 (file)
 #define ACCESS_ALLOWED 0
 #define ACCESS_DENIED  1
 
+#define SIDOWNER 1
+#define SIDGROUP 2
+#define SIDLEN 150 /* S- 1 revision- 6 authorities- max 5 sub authorities */
+
+#define SID_ID_MAPPED 0
+#define SID_ID_PENDING 1
+#define SID_MAP_EXPIRE (3600 * HZ) /* map entry expires after one hour */
+#define SID_MAP_RETRY (300 * HZ)   /* wait 5 minutes for next attempt to map */
+
 struct cifs_ntsd {
        __le16 revision; /* revision level */
        __le16 type;
@@ -74,7 +83,21 @@ struct cifs_wksid {
        char sidname[SIDNAMELENGTH];
 } __attribute__((packed));
 
-extern int match_sid(struct cifs_sid *);
+struct cifs_sid_id {
+       unsigned int refcount; /* increment with spinlock, decrement without */
+       unsigned long id;
+       unsigned long time;
+       unsigned long state;
+       char *sidstr;
+       struct rb_node rbnode;
+       struct cifs_sid sid;
+};
+
+#ifdef __KERNEL__
+extern struct key_type cifs_idmap_key_type;
+extern const struct cred *root_cred;
+#endif /* KERNEL */
+
 extern int compare_sids(const struct cifs_sid *, const struct cifs_sid *);
 
 #endif /* _CIFSACL_H */