#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 |
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) |
| #define CNID_PATH_OVERHEAD 12 |
| #define DEFAULT_DIRCACHE_SIZE 65536 |
default 'dircache size' (entries)
| #define DEFAULT_DIRCACHE_VALIDATION_FREQ 100 |
Validate every Nth access; multi protocol defaults this to 1
| #define DIRCACHE_VALIDATION_FREQ_MAX 100 |
Validate every 100th access
| #define DIRCACHE_VALIDATION_FREQ_MIN 1 |
Validate on every access
| #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_AFPSTATS (1 << 12) |
whether to expose afpstats Unix socket
| #define OPTION_ANNOUNCESSH (1 << 6) |
| #define OPTION_CLOSEVOL (1 << 1) |
| #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_STRICT_LOCKING (1 << 5) |
per-IO POSIX byte-range data locks on FPRead/FPWrite (default: no)
| #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 RFORK_BUDGET_MAX_KB (10 * 1024 * 1024) |
Hard cap: 10 GB in KB
| #define RFORK_ENTRY_MAX_KB (10 * 1024) |
Hard cap: 10 MB in KB
| #define SPOTLIGHT_RESULTS_LIMIT_DEFAULT 10000 |
| #define SPOTLIGHT_RESULTS_LIMIT_MAX 16000000 |
| #define SPOTLIGHT_RESULTS_LIMIT_MIN 100 |
| #define UTF8FILELEN_EARLY 255 |
Type3, early Mac OS X 10.0-10.4.?
| typedef int(*) AFPCmd(AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
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 |