#include <grp.h>#include <iniparser.h>#include <netdb.h>#include <stdbool.h>#include <sys/param.h>#include <sys/types.h>#include <netatalk/at.h>#include <atalk/afp.h>#include <atalk/compat.h>#include <atalk/uam.h>#include <atalk/unicode.h>#include <atalk/afp_dtrace.h>Go to the source code of this file.
Data Structures | |
| struct | afp_volume_name |
| struct | afp_options |
| struct | AFPObj |
Macros | |
| #define | MACFILELEN 31 |
| #define | UTF8FILELEN_EARLY 255 |
| #define | MAXUSERLEN 256 |
| #define | MAXOPTLEN 256 |
| #define | CNID_PATH_OVERHEAD 12 /* CNID protocol header size for path resolution */ |
| #define | CNID_MAX_PATH_LEN (CNID_PATH_OVERHEAD + MAXPATHLEN + 1) /* Maximum path length for CNID operations */ |
| #define | DEFAULT_MAX_DIRCACHE_SIZE 8192 |
| #define | DEFAULT_DIRCACHE_VALIDATION_FREQ 1 |
| #define | DEFAULT_DIRCACHE_METADATA_WINDOW 300 |
| #define | DEFAULT_DIRCACHE_METADATA_THRESHOLD 60 |
| #define | OPTION_DEBUG (1 << 0) |
| #define | OPTION_CLOSEVOL (1 << 1) |
| #define | OPTION_SERVERNOTIF (1 << 2) |
| #define | OPTION_NOSENDFILE (1 << 3) |
| #define | OPTION_VETOMSG (1 << 4) |
| #define | OPTION_AFP_READ_LOCK (1 << 5) |
| #define | OPTION_ANNOUNCESSH (1 << 6) |
| #define | OPTION_UUID (1 << 7) |
| #define | OPTION_ACL2MACCESS (1 << 8) |
| #define | OPTION_NOZEROCONF (1 << 9) |
| #define | OPTION_ACL2MODE (1 << 10) |
| #define | OPTION_SHARE_RESERV (1 << 11) |
| #define | OPTION_DBUS_AFPSTATS (1 << 12) |
| #define | OPTION_SPOTLIGHT (1 << 13) |
| #define | OPTION_SPOTLIGHT_VOL (1 << 14) |
| #define | OPTION_RECVFILE (1 << 15) |
| #define | OPTION_SPOTLIGHT_EXPR (1 << 16) |
| #define | OPTION_DDP (1 << 17) |
| #define | OPTION_VALID_SHELLCHECK (1 << 18) |
| #define | PASSWD_NONE 0 |
| #define | PASSWD_SET (1 << 0) |
| #define | PASSWD_NOSAVE (1 << 1) |
| #define | PASSWD_ALL (PASSWD_SET | PASSWD_NOSAVE) |
| #define | IS_AFP_SESSION(obj) |
| #define | AFPOBJ_TMPSIZ (MAXPATHLEN) |
Typedefs | |
| typedef struct AFPObj | AFPObj |
| typedef int(* | AFPCmd) (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
Functions | |
| int | get_afp_errno (const int param) |
| void | afp_options_init (struct afp_options *) |
| void | afp_options_parse_cmdline (AFPObj *obj, int ac, char **av) |
| int | setmessage (const char *) |
| Copy AFP message to message buffer. | |
| void | readmessage (AFPObj *) |
| void | afp_over_asp (AFPObj *) |
| void | afp_over_dsi (AFPObj *) |
| void | afp_over_dsi_sighandlers (AFPObj *obj) |
Variables | |
| AFPObj * | AFPobj |
| int | afp_version |
| int | afp_errno |
| unsigned char | nologin |
| struct dir * | curdir |
| char | getwdbuf [] |
| struct afp_options | default_options |
| const char * | Cnid_srv |
| const char * | Cnid_port |
| #define AFPOBJ_TMPSIZ (MAXPATHLEN) |
| #define CNID_MAX_PATH_LEN (CNID_PATH_OVERHEAD + MAXPATHLEN + 1) /* Maximum path length for CNID operations */ |
| #define DEFAULT_DIRCACHE_METADATA_THRESHOLD 60 |
Metadata change threshold (seconds)
| #define DEFAULT_DIRCACHE_METADATA_WINDOW 300 |
Metadata change window (seconds)
| #define DEFAULT_DIRCACHE_VALIDATION_FREQ 1 |
Validate every Nth access (default 1 for backward compatibility)
| #define DEFAULT_MAX_DIRCACHE_SIZE 8192 |
| #define IS_AFP_SESSION | ( | obj | ) |
| #define MACFILELEN 31 |
Type2, HFS-compat
| #define MAXOPTLEN 256 |
| #define MAXUSERLEN 256 |
| #define OPTION_ACL2MACCESS (1 << 8) |
| #define OPTION_ACL2MODE (1 << 10) |
| #define OPTION_AFP_READ_LOCK (1 << 5) |
whether to do AFP spec conforming read locks (default: no)
| #define OPTION_ANNOUNCESSH (1 << 6) |
| #define OPTION_CLOSEVOL (1 << 1) |
| #define OPTION_DBUS_AFPSTATS (1 << 12) |
whether to run dbus thread for afpstats
| #define OPTION_DDP (1 << 17) |
whether to allow connections via appletalk/ddp
| #define OPTION_DEBUG (1 << 0) |
| #define OPTION_NOSENDFILE (1 << 3) |
| #define OPTION_NOZEROCONF (1 << 9) |
| #define OPTION_RECVFILE (1 << 15) |
| #define OPTION_SERVERNOTIF (1 << 2) |
| #define OPTION_SHARE_RESERV (1 << 11) |
whether to use Solaris fcntl F_SHARE locks
| #define OPTION_SPOTLIGHT (1 << 13) |
whether to initialize Spotlight support
| #define OPTION_SPOTLIGHT_EXPR (1 << 16) |
whether to allow Spotlight logic expressions
| #define OPTION_SPOTLIGHT_VOL (1 << 14) |
whether spotlight shall be enabled by default for volumes
| #define OPTION_UUID (1 << 7) |
| #define OPTION_VALID_SHELLCHECK (1 << 18) |
whether to check for valid login shell
| #define OPTION_VETOMSG (1 << 4) |
whether to send an AFP message for veto file access
| #define PASSWD_ALL (PASSWD_SET | PASSWD_NOSAVE) |
| #define PASSWD_NONE 0 |
| #define PASSWD_NOSAVE (1 << 1) |
| #define PASSWD_SET (1 << 0) |
| #define UTF8FILELEN_EARLY 255 |
Type3, early Mac OS X 10.0-10.4.?
typedef for AFP functions handlers
| typedef struct AFPObj AFPObj |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
Copy AFP message to message buffer.
| [in] | message | message to send |
|
extern |
|
extern |
|
extern |
We generally pass this from afp_over_dsi to all afp_* funcs, so it should already be available everywhere. Unfortunately some funcs (eg acltoownermode) need acces to it but are deeply nested in the function chain with the caller already without acces to it. Changing this would require adding a reference to the caller which itself might be called in many places (eg acltoownermode is called from accessmode). The only sane way out is providing a copy of it here:
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |
|
extern |