]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/fork.h
library versioning: update to 16:0:0
[netatalk.git] / etc / afpd / fork.h
index c4e25de1696faee8f57f90d93590ce7f38515906..5b63601f992fe139e2b67bf4d724199a6c873c52 100644 (file)
@@ -1,6 +1,4 @@
 /*
- * $Id: fork.h,v 1.18 2010-03-12 15:16:49 franklahm Exp $
- *
  * Copyright (c) 1990,1993 Regents of The University of Michigan.
  * All Rights Reserved.  See COPYRIGHT.
  */
@@ -9,83 +7,79 @@
 #define AFPD_FORK_H 1
 
 #include <stdio.h>
-#include <sys/cdefs.h>
+#include <arpa/inet.h>
 
-#include <netatalk/endian.h>
 #include <atalk/adouble.h>
 #include "volume.h"
 #include "directory.h"
 
 struct file_key {
-    dev_t              dev;
-    ino_t              inode;
+    dev_t       dev;
+    ino_t       inode;
 };
 
 struct ofork {
     struct file_key     key;
-    struct adouble     *of_ad;
+    struct adouble      *of_ad;
     struct vol          *of_vol;
-    struct dir         *of_dir;
-
-    u_int16_t           of_refnum;
+    cnid_t              of_did;
+    uint16_t            of_refnum;
     int                 of_flags;
-
     struct ofork        **prevp, *next;
-    struct ofork        *of_d_prev, *of_d_next;
 };
 
-#define OPENFORK_DATA  (0)
-#define OPENFORK_RSCS  (1<<7)
+#define OPENFORK_DATA   (0)
+#define OPENFORK_RSCS   (1<<7)
 
-#define OPENACC_RD     (1<<0)
-#define OPENACC_WR     (1<<1)
-#define OPENACC_DRD    (1<<4)
-#define OPENACC_DWR    (1<<5)
+#define OPENACC_RD  (1<<0)
+#define OPENACC_WR  (1<<1)
+#define OPENACC_DRD (1<<4)
+#define OPENACC_DWR (1<<5)
 
 /* ofork.of_flags bits */
-#define AFPFORK_OPEN   (1<<0)
-#define AFPFORK_RSRC   (1<<1)
-#define AFPFORK_DATA   (1<<2)
+#define AFPFORK_DATA    (1<<0)  /* open datafork */
+#define AFPFORK_RSRC    (1<<1)  /* open rsrcfork */
+#define AFPFORK_META    (1<<2)  /* open metadata */
 #define AFPFORK_DIRTY   (1<<3)
 #define AFPFORK_ACCRD   (1<<4)
 #define AFPFORK_ACCWR   (1<<5)
 #define AFPFORK_ACCMASK (AFPFORK_ACCRD | AFPFORK_ACCWR)
 #define AFPFORK_MODIFIED (1<<6) /* used in FCE for modified files */
+#define AFPFORK_ERROR   (1<<7)  /* used to indicate an error in opening the fork */
 
 #ifdef AFS
 extern struct ofork *writtenfork;
 #endif
 
-#define of_name(a) (a)->of_ad->ad_m_name
+#define of_name(a) (a)->of_ad->ad_name
 /* in ofork.c */
 extern struct ofork *of_alloc    (struct vol *, struct dir *,
-                                                      char *, u_int16_t *, const int,
+                                                      char *, uint16_t *, const int,
                                                       struct adouble *,
                                                       struct stat *);
 extern void         of_dealloc   (struct ofork *);
-extern struct ofork *of_find     (const u_int16_t);
-extern struct ofork *of_findname (struct path *);
+extern struct ofork *of_find     (const uint16_t);
+extern struct ofork *of_findname (const struct vol *vol, struct path *);
 extern int          of_rename    (const struct vol *,
                                           struct ofork *,
                                           struct dir *, const char *,
                                           struct dir *, const char *);
 extern int          of_flush     (const struct vol *);
-extern void         of_pforkdesc (FILE *);
-extern int          of_stat      (struct path *);
+extern int          of_stat      (const struct vol *vol, struct path *);
 extern int          of_statdir   (struct vol *vol, struct path *);
-extern int          of_closefork (struct ofork *ofork);
-extern void         of_closevol  (const struct vol *vol);
+extern int          of_closefork (const AFPObj *obj, struct ofork *ofork);
+extern void         of_closevol  (const AFPObj *obj, const struct vol *vol);
+extern void         of_close_all_forks(const AFPObj *obj);
 extern struct adouble *of_ad     (const struct vol *, struct path *, struct adouble *);
 
-#ifdef HAVE_RENAMEAT
+#ifdef HAVE_ATFUNCS
 extern struct ofork *of_findnameat(int dirfd, struct path *path);
 extern int of_fstatat(int dirfd, struct path *path);
-#endif  /* HAVE_RENAMEAT */
+#endif  /* HAVE_ATFUNCS */
 
 
 /* in fork.c */
 extern int          flushfork    (struct ofork *);
-extern int          getforkmode  (struct adouble *, int , int );
 
 /* FP functions */
 int afp_openfork (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf,  size_t *rbuflen);