Go to the source code of this file.
Macros | |
| #define | NETATALK_READBUF_LIMIT ((uint64_t)1 << 30) |
Functions | |
| int | afp_config_parse (AFPObj *obj, char *processname) |
| void | afp_config_free (AFPObj *obj) |
| int | load_charset (struct vol *vol) |
| int | load_afp_conf_vols (AFPObj *obj, lv_flags_t flags) |
| Initialize volumes and load ini configfile. | |
| void | unload_volumes (AFPObj *obj) |
| struct vol * | getvolumes (void) |
| int | conf_cnid_scheme_in_use (const AFPObj *obj, const char *scheme) |
| Whether any configured volume resolves to the given CNID scheme. | |
| struct vol * | getvolbyvid (const uint16_t) |
| struct vol * | getvolbypath (AFPObj *obj, const char *path) |
| Search volume by path, creating user home vols as necessary. | |
| struct vol * | getvolbyname (const char *name) |
| void | volume_free (struct vol *vol) |
| Free all resources allocated in a struct vol in load_afp_conf_vols(). | |
| void | volume_unlink (struct vol *volume) |
| int | netatalk_readbuf_clamp (int readbuf, uint32_t quantum, uint64_t limit) |
| struct extmap * | getdefextmap (void) |
| struct extmap * | getextmap (const char *path) |
| #define NETATALK_READBUF_LIMIT ((uint64_t)1 << 30) |
ceiling for dsireadbuf x server quantum per session (1 GiB)
|
extern |
get rid of any allocated afp_option buffers.
|
extern |
Initialize an AFPObj and options from ini config file
|
extern |
Whether any configured volume resolves to the given CNID scheme.
Scans the loaded volume list, then the [Homes] section: homes volumes are instantiated per-user at login, so outside AFP sessions they never appear in the list. The section's scheme is resolved the same way creatvol() resolves it (section -> preset -> global -> compiled default).
| struct extmap * getdefextmap | ( | void | ) |
| struct extmap * getextmap | ( | const char * | path | ) |
|
extern |
Search volume by path, creating user home vols as necessary.
Path may be absolute or relative. Ordinary volume structs are created when the ini config is initially parsed (load_afp_conf_vols()), but user volumes are as load_afp_conf_vols() only can create the user volume of the logged in user in an AFP session in afpd, but not when called from e.g. cnid_metad or dbd. Both cnid_metad and dbd thus need a way to lookup and create struct vols for user home by path. This is what this func does as well.
| [in,out] | obj | handle |
| [in] | path | path, may be relative or absolute |
|
extern |
|
extern |
|
extern |
Initialize volumes and load ini configfile.
| [in] | obj | handle |
| [in] | flags | flags controlling volume load behaviour:
|
|
extern |
Load charsets for a volume
|
extern |
Bound dsireadbuf so dsireadbuf * quantum never exceeds limit. The limit always wins: on a constrained platform the result may drop below the usual dsireadbuf floor of 6, but never below 1. The quantum is never reduced here: frame acceptance must not change as a side effect of read-ahead sizing. A zero quantum cannot occur in the config path and is treated as "no limit".
|
extern |
|
extern |
Free all resources allocated in a struct vol in load_afp_conf_vols().
Actually opening a volume (afp_openvol()) will allocate additional resources which are freed in closevol()
|
extern |
Remove a volume from the linked list of volumes