X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=etc%2Fafpd%2Ffork.h;h=0e7f7739f231b1e32972fc37f5f5cbddf4974137;hb=9d78f9b52ea18b442fc91c6a1e8d8b607f2f90e8;hp=90e0ed9c39f17ce5aedaf34563414640acbeebd6;hpb=a7349ad51dd4d6e119ab7414fd19d6a8467f3f35;p=netatalk.git diff --git a/etc/afpd/fork.h b/etc/afpd/fork.h index 90e0ed9c..0e7f7739 100644 --- a/etc/afpd/fork.h +++ b/etc/afpd/fork.h @@ -1,5 +1,5 @@ /* - * $Id: fork.h,v 1.3 2001-12-03 05:03:38 jmarcus Exp $ + * $Id: fork.h,v 1.8.6.2.2.3 2008-11-25 15:16:33 didg Exp $ * * Copyright (c) 1990,1993 Regents of The University of Michigan. * All Rights Reserved. See COPYRIGHT. @@ -16,14 +16,20 @@ #include "volume.h" #include "directory.h" +struct file_key { + dev_t dev; + ino_t inode; +}; + struct ofork { + struct file_key key; struct adouble *of_ad; struct vol *of_vol; struct dir *of_dir; - char *of_name; - int of_namelen; + u_int16_t of_refnum; int of_flags; + struct ofork **prevp, *next; struct ofork *of_d_prev, *of_d_next; }; @@ -36,6 +42,7 @@ struct ofork { #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) @@ -44,22 +51,27 @@ struct ofork { #define AFPFORK_ACCWR (1<<5) #define AFPFORK_ACCMASK (AFPFORK_ACCRD | AFPFORK_ACCWR) +#define of_name(a) (a)->of_ad->ad_m_name /* in ofork.c */ extern struct ofork *of_alloc __P((struct vol *, struct dir *, char *, u_int16_t *, const int, - struct adouble *)); + struct adouble *, + struct stat *)); extern void of_dealloc __P((struct ofork *)); extern struct ofork *of_find __P((const u_int16_t)); -extern struct ofork *of_findname __P((const struct vol *, const struct dir *, - const char *)); +extern struct ofork *of_findname __P((struct path *)); extern int of_rename __P((const struct vol *, + struct ofork *, struct dir *, const char *, struct dir *, const char *)); extern int of_flush __P((const struct vol *)); extern void of_pforkdesc __P((FILE *)); - +extern int of_stat __P((struct path *)); +extern int of_statdir __P((const struct vol *vol, struct path *)); +extern struct adouble *of_ad __P((const struct vol *, struct path *, struct adouble *)); /* in fork.c */ extern int flushfork __P((struct ofork *)); +extern int getforkmode __P((struct adouble *, int , int )); /* FP functions */ extern int afp_openfork __P((AFPObj *, char *, int, char *, int *)); @@ -72,4 +84,7 @@ extern int afp_flushfork __P((AFPObj *, char *, int, char *, int *)); extern int afp_flush __P((AFPObj *, char *, int, char *, int *)); extern int afp_closefork __P((AFPObj *, char *, int, char *, int *)); +extern int afp_bytelock_ext __P((AFPObj *, char *, int, char *, int *)); +extern int afp_read_ext __P((AFPObj *, char *, int, char *, int *)); +extern int afp_write_ext __P((AFPObj *, char *, int, char *, int *)); #endif