X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?p=netatalk.git;a=blobdiff_plain;f=include%2Fatalk%2Fadouble.h;h=972ce26f7534e40d287d6a4af5d7faaeb2090a98;hp=6e76e51b842fba92ceb35b224893a6b67e5277b8;hb=42a0a094b72577aee3fee7f186da52dc83db001d;hpb=acb180395693ed05a4e6a1edb6796c8e6f644a72 diff --git a/include/atalk/adouble.h b/include/atalk/adouble.h index 6e76e51b..972ce26f 100644 --- a/include/atalk/adouble.h +++ b/include/atalk/adouble.h @@ -1,4 +1,4 @@ -/* + /* * Copyright (c) 1990,1991 Regents of The University of Michigan. * All Rights Reserved. * @@ -219,7 +219,7 @@ struct adouble { int ad_reso_refcount; off_t ad_rlen; /* ressource fork len with AFP 3.0 * * the header parameter size is too small. */ - char *ad_name; /* name in server encoding (usually UTF8) */ + char *ad_name; /* mac name (maccharset or UTF8-MAC) */ struct adouble_fops *ad_ops; uint16_t ad_open_forks; /* open forks (by others) */ char ad_data[AD_DATASZ_MAX]; @@ -245,6 +245,7 @@ struct adouble { #define ADFLAGS_TRUNC (1<<12) /* truncate, open called with O_TRUNC */ #define ADVOL_NODEV (1 << 0) +#define ADVOL_RO (1 << 1) #define ADVOL_UNIXPRIV (1 << 2) /* adouble unix priv */ #define ADVOL_INVDOTS (1 << 3) /* dot files (.DS_Store) are invisible) */ #define ADVOL_FOLLO_SYML (1 << 4) @@ -401,6 +402,7 @@ extern int ad_mkdir (const char *, mode_t); struct vol; extern void ad_init (struct adouble *, const struct vol * restrict); extern void ad_init_old (struct adouble *ad, int flags, int options); +extern int ad_init_offsets(struct adouble *ad); extern int ad_open (struct adouble *ad, const char *path, int adflags, ...); extern int ad_openat (struct adouble *, int dirfd, const char *path, int adflags, ...); extern int ad_refresh (const char *path, struct adouble *); @@ -409,6 +411,7 @@ extern int ad_metadata (const char *, int, struct adouble *); extern int ad_metadataat (int, const char *, int, struct adouble *); extern mode_t ad_hf_mode(mode_t mode); extern int ad_valid_header_osx(const char *path); +extern off_t ad_reso_size(const char *path, int adflags, struct adouble *ad); /* ad_conv.c */ extern int ad_convert(const char *path, const struct stat *sp, const struct vol *vol, const char **newpath); @@ -421,7 +424,7 @@ extern ssize_t ad_write(struct adouble *, uint32_t, off_t, int, const char *, si extern ssize_t adf_pread(struct ad_fd *, void *, size_t, off_t); extern ssize_t adf_pwrite(struct ad_fd *, const void *, size_t, off_t); extern int ad_dtruncate(struct adouble *, off_t); -extern int ad_rtruncate(struct adouble *, off_t); +extern int ad_rtruncate(struct adouble *, const char *, off_t); extern int copy_fork(int eid, struct adouble *add, struct adouble *ads); /* ad_size.c */ @@ -447,5 +450,8 @@ extern uint32_t ad_forcegetid(struct adouble *adp); #ifdef WITH_SENDFILE extern int ad_readfile_init(const struct adouble *ad, int eid, off_t *off, int end); #endif +#ifdef WITH_RECVFILE +extern ssize_t ad_recvfile(struct adouble *ad, int eid, int sock, off_t off, size_t len, int); +#endif #endif /* _ATALK_ADOUBLE_H */