2 * Copyright (c) 1990,1993 Regents of The University of Michigan.
3 * All Rights Reserved. See COPYRIGHT.
10 #include <sys/cdefs.h>
12 #include <netatalk/endian.h>
13 #include <atalk/adouble.h>
15 #include "directory.h"
18 struct adouble *of_ad;
25 struct ofork **prevp, *next;
26 struct ofork *of_d_prev, *of_d_next;
29 #define OPENFORK_DATA (0)
30 #define OPENFORK_RSCS (1<<7)
32 #define OPENACC_RD (1<<0)
33 #define OPENACC_WR (1<<1)
34 #define OPENACC_DRD (1<<4)
35 #define OPENACC_DWR (1<<5)
37 #define AFPFORK_OPEN (1<<0)
38 #define AFPFORK_RSRC (1<<1)
39 #define AFPFORK_DATA (1<<2)
40 #define AFPFORK_DIRTY (1<<3)
41 #define AFPFORK_ACCRD (1<<4)
42 #define AFPFORK_ACCWR (1<<5)
43 #define AFPFORK_ACCMASK (AFPFORK_ACCRD | AFPFORK_ACCWR)
46 extern struct ofork *of_alloc __P((struct vol *, struct dir *,
47 char *, u_int16_t *, const int,
49 extern void of_dealloc __P((struct ofork *));
50 extern struct ofork *of_find __P((const u_int16_t));
51 extern struct ofork *of_findname __P((const struct vol *, const struct dir *,
53 extern int of_rename __P((const struct vol *,
54 struct dir *, const char *,
55 struct dir *, const char *));
56 extern int of_flush __P((const struct vol *));
57 extern void of_pforkdesc __P((FILE *));
60 extern int flushfork __P((struct ofork *));
63 extern int afp_openfork __P((AFPObj *, char *, int, char *, int *));
64 extern int afp_bytelock __P((AFPObj *, char *, int, char *, int *));
65 extern int afp_getforkparams __P((AFPObj *, char *, int, char *, int *));
66 extern int afp_setforkparams __P((AFPObj *, char *, int, char *, int *));
67 extern int afp_read __P((AFPObj *, char *, int, char *, int *));
68 extern int afp_write __P((AFPObj *, char *, int, char *, int *));
69 extern int afp_flushfork __P((AFPObj *, char *, int, char *, int *));
70 extern int afp_flush __P((AFPObj *, char *, int, char *, int *));
71 extern int afp_closefork __P((AFPObj *, char *, int, char *, int *));