2 * $Id: fork.h,v 1.6 2002-10-11 14:18:34 didg Exp $
4 * Copyright (c) 1990,1993 Regents of The University of Michigan.
5 * All Rights Reserved. See COPYRIGHT.
12 #include <sys/cdefs.h>
14 #include <netatalk/endian.h>
15 #include <atalk/adouble.h>
17 #include "directory.h"
25 struct adouble *of_ad;
35 struct ofork **prevp, *next;
36 struct ofork *of_d_prev, *of_d_next;
39 #define OPENFORK_DATA (0)
40 #define OPENFORK_RSCS (1<<7)
42 #define OPENACC_RD (1<<0)
43 #define OPENACC_WR (1<<1)
44 #define OPENACC_DRD (1<<4)
45 #define OPENACC_DWR (1<<5)
47 #define AFPFORK_OPEN (1<<0)
48 #define AFPFORK_RSRC (1<<1)
49 #define AFPFORK_DATA (1<<2)
50 #define AFPFORK_DIRTY (1<<3)
51 #define AFPFORK_ACCRD (1<<4)
52 #define AFPFORK_ACCWR (1<<5)
53 #define AFPFORK_ACCMASK (AFPFORK_ACCRD | AFPFORK_ACCWR)
56 extern struct ofork *of_alloc __P((struct vol *, struct dir *,
57 char *, u_int16_t *, const int,
60 extern void of_dealloc __P((struct ofork *));
61 extern struct ofork *of_find __P((const u_int16_t));
62 extern struct ofork *of_findname __P((struct path *));
63 extern int of_rename __P((const struct vol *,
65 struct dir *, const char *,
66 struct dir *, const char *));
67 extern int of_flush __P((const struct vol *));
68 extern void of_pforkdesc __P((FILE *));
69 extern int of_stat __P((struct path *));
71 extern int flushfork __P((struct ofork *));
74 extern int afp_openfork __P((AFPObj *, char *, int, char *, int *));
75 extern int afp_bytelock __P((AFPObj *, char *, int, char *, int *));
76 extern int afp_getforkparams __P((AFPObj *, char *, int, char *, int *));
77 extern int afp_setforkparams __P((AFPObj *, char *, int, char *, int *));
78 extern int afp_read __P((AFPObj *, char *, int, char *, int *));
79 extern int afp_write __P((AFPObj *, char *, int, char *, int *));
80 extern int afp_flushfork __P((AFPObj *, char *, int, char *, int *));
81 extern int afp_flush __P((AFPObj *, char *, int, char *, int *));
82 extern int afp_closefork __P((AFPObj *, char *, int, char *, int *));
84 extern int afp_bytelock_ext __P((AFPObj *, char *, int, char *, int *));
85 extern int afp_read_ext __P((AFPObj *, char *, int, char *, int *));
86 extern int afp_write_ext __P((AFPObj *, char *, int, char *, int *));