#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/param.h>
#include <sys/stat.h>
#include <unistd.h>
#include <bstrlib.h>
#include <atalk/ea.h>
#include <atalk/fce_api.h>
#include <atalk/globals.h>
#include <atalk/logger.h>
#include <atalk/util.h>
#include "desktop.h"
#include "directory.h"
#include "fork.h"
#include "volume.h"
Macros | |
#define | OFORK_HASHSIZE 64 |
#define | min(a, b) |
Functions | |
static unsigned long | hashfn (const struct file_key *key) |
static void | of_hash (struct ofork *of) |
static void | of_unhash (struct ofork *of) |
void | of_pforkdesc (FILE *f) |
int | of_flush (const struct vol *vol) |
int | of_rename (const struct vol *vol, struct ofork *s_of, struct dir *olddir, const char *oldpath _U_, struct dir *newdir, const char *newpath) |
struct ofork * | of_alloc (struct vol *vol, struct dir *dir, char *path, uint16_t *ofrefnum, const int eid, struct adouble *ad, struct stat *st) |
struct ofork * | of_find (const uint16_t ofrefnum) |
int | of_stat (const struct vol *vol, struct path *path) |
int | of_fstatat (int dirfd, struct path *path) |
int | of_statdir (struct vol *vol, struct path *path) |
struct ofork * | of_findname (const struct vol *vol, struct path *path) |
struct ofork * | of_findnameat (int dirfd, struct path *path) |
Search for open fork by dirfd/name. | |
void | of_dealloc (struct ofork *of) |
int | of_closefork (const AFPObj *obj, struct ofork *ofork) |
struct adouble * | of_ad (const struct vol *vol, struct path *path, struct adouble *ad) |
void | of_closevol (const AFPObj *obj, const struct vol *vol) |
void | of_close_all_forks (const AFPObj *obj) |
Variables | |
static struct ofork * | ofork_table [OFORK_HASHSIZE] |
static struct ofork ** | oforks = NULL |
static int | nforks = 0 |
static u_short | lastrefnum = 0 |
#define min | ( | a, | |
b ) |
#define OFORK_HASHSIZE 64 |
|
static |
struct ofork * of_alloc | ( | struct vol * | vol, |
struct dir * | dir, | ||
char * | path, | ||
uint16_t * | ofrefnum, | ||
const int | eid, | ||
struct adouble * | ad, | ||
struct stat * | st ) |
void of_close_all_forks | ( | const AFPObj * | obj | ) |
void of_dealloc | ( | struct ofork * | of | ) |
struct ofork * of_find | ( | const uint16_t | ofrefnum | ) |
Search for open fork by dirfd/name.
Function call of_fstatat with dirfd and path and uses dev and ino to search the open fork table.
dirfd | (r) directory fd |
path | (rw) pointer to struct path |
int of_flush | ( | const struct vol * | vol | ) |
int of_fstatat | ( | int | dirfd, |
struct path * | path ) |
|
static |
void of_pforkdesc | ( | FILE * | f | ) |
int of_rename | ( | const struct vol * | vol, |
struct ofork * | s_of, | ||
struct dir * | olddir, | ||
const char *oldpath | _U_, | ||
struct dir * | newdir, | ||
const char * | newpath ) |
|
static |
|
static |
|
static |
|
static |
|
static |