#include <errno.h>
#include <inttypes.h>
#include <stdio.h>
#include <string.h>
#include <sys/param.h>
#include <sys/socket.h>
#include <bstrlib.h>
#include <atalk/adouble.h>
#include <atalk/afp.h>
#include <atalk/asp.h>
#include <atalk/cnid.h>
#include <atalk/dsi.h>
#include <atalk/ea.h>
#include <atalk/globals.h>
#include <atalk/logger.h>
#include <atalk/netatalk_conf.h>
#include <atalk/util.h>
#include "desktop.h"
#include "directory.h"
#include "file.h"
#include "fork.h"
#include "volume.h"
Macros | |
#define | ENDBIT(a) |
#define | UNLOCKBIT(a) |
Functions | |
static int | getforkparams (const AFPObj *obj, struct ofork *ofork, uint16_t bitmap, char *buf, size_t *buflen) |
static off_t | get_off_t (char **ibuf, int is64) |
static int | set_off_t (off_t offset, char *rbuf, int is64) |
static int | is_neg (int is64, off_t val) |
static int | sum_neg (int is64, off_t offset, off_t reqcount) |
static int | fork_setmode (const AFPObj *obj _U_, struct adouble *adp, int eid, int access, int ofrefnum) |
int | afp_openfork (AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t *rbuflen) |
int | afp_setforkparams (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf _U_, size_t *rbuflen) |
static int | byte_lock (AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t *rbuflen, int is64) |
int | afp_bytelock (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
int | afp_bytelock_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
static int | read_file (const struct ofork *ofork, int eid, off_t offset, char *rbuf, size_t *rbuflen) |
static int | read_fork (AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen, int is64) |
int | afp_read (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
int | afp_read_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
int | afp_flush (AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen) |
int | afp_flushfork (AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen) |
int | afp_syncfork (AFPObj *obj _U_, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen) |
int | flushfork (struct ofork *ofork) |
int | afp_closefork (AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf _U_, size_t *rbuflen) |
static ssize_t | write_file (struct ofork *ofork, int eid, off_t offset, char *rbuf, size_t rbuflen) |
static int | write_fork (AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t *rbuflen, int is64) |
int | afp_write (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
int | afp_write_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
int | afp_getforkparams (AFPObj *obj, char *ibuf, size_t ibuflen _U_, char *rbuf, size_t *rbuflen) |
#define ENDBIT | ( | a | ) |
#define UNLOCKBIT | ( | a | ) |
int afp_bytelock | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_bytelock_ext | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_closefork | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t ibuflen | _U_, | ||
char *rbuf | _U_, | ||
size_t * | rbuflen ) |
int afp_flush | ( | AFPObj *obj | _U_, |
char * | ibuf, | ||
size_t ibuflen | _U_, | ||
char *rbuf | _U_, | ||
size_t * | rbuflen ) |
int afp_flushfork | ( | AFPObj *obj | _U_, |
char * | ibuf, | ||
size_t ibuflen | _U_, | ||
char *rbuf | _U_, | ||
size_t * | rbuflen ) |
int afp_getforkparams | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t ibuflen | _U_, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_openfork | ( | AFPObj *obj | _U_, |
char * | ibuf, | ||
size_t ibuflen | _U_, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_read | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_read_ext | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_setforkparams | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char *rbuf | _U_, | ||
size_t * | rbuflen ) |
int afp_syncfork | ( | AFPObj *obj | _U_, |
char * | ibuf, | ||
size_t ibuflen | _U_, | ||
char *rbuf | _U_, | ||
size_t * | rbuflen ) |
int afp_write | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
int afp_write_ext | ( | AFPObj * | obj, |
char * | ibuf, | ||
size_t | ibuflen, | ||
char * | rbuf, | ||
size_t * | rbuflen ) |
|
static |
int flushfork | ( | struct ofork * | ofork | ) |
|
static |
|
static |
|
static |
|
static |
|
static |
Read *rbuflen bytes from fork at offset
ofork | (r) fork handle |
eid | (r) data fork or resource fork entry id |
offset | (r) offset |
rbuf | (r) data buffer |
rbuflen | (rw) in: number of bytes to read, out: bytes read |
|
static |
|
static |
|
static |
|
static |
|
static |