#include <arpa/inet.h>
#include <sys/types.h>
#include <atalk/cnid.h>
#include <atalk/globals.h>
#include <atalk/unicode.h>
#include <atalk/volume.h>
Go to the source code of this file.
|
| int | ustatfs_getvolspace (const struct vol *, VolSpace *, VolSpace *, uint32_t *) |
| |
| void | setvoltime (AFPObj *, struct vol *) |
| |
| int | pollvoltime (AFPObj *) |
| | poll if a volume is changed by other processes.
|
| |
| int | afp_openvol (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
| |
| int | afp_getvolparams (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
| |
| int | afp_setvolparams (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
| |
| int | afp_getsrvrparms (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
| |
| int | afp_closevol (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen) |
| |
| void | close_all_vol (const AFPObj *obj) |
| |
| void | closevol (const AFPObj *obj, struct vol *vol) |
| |
| void | cnid_volume_reset (const struct vol *vol) |
| | Announce a CNID table reset and end this session.
|
| |
| uint32_t | cnid_volume_tag (const struct vol *vol) |
| | Stable cross-process identifier for a volume's CNID table.
|
| |
◆ afp_closevol()
| int afp_closevol |
( |
AFPObj * |
obj, |
|
|
char * |
ibuf, |
|
|
size_t |
ibuflen, |
|
|
char * |
rbuf, |
|
|
size_t * |
rbuflen |
|
) |
| |
◆ afp_getsrvrparms()
| int afp_getsrvrparms |
( |
AFPObj * |
obj, |
|
|
char * |
ibuf, |
|
|
size_t |
ibuflen, |
|
|
char * |
rbuf, |
|
|
size_t * |
rbuflen |
|
) |
| |
◆ afp_getvolparams()
| int afp_getvolparams |
( |
AFPObj * |
obj, |
|
|
char * |
ibuf, |
|
|
size_t |
ibuflen, |
|
|
char * |
rbuf, |
|
|
size_t * |
rbuflen |
|
) |
| |
◆ afp_openvol()
| int afp_openvol |
( |
AFPObj * |
obj, |
|
|
char * |
ibuf, |
|
|
size_t |
ibuflen, |
|
|
char * |
rbuf, |
|
|
size_t * |
rbuflen |
|
) |
| |
◆ afp_setvolparams()
| int afp_setvolparams |
( |
AFPObj * |
obj, |
|
|
char * |
ibuf, |
|
|
size_t |
ibuflen, |
|
|
char * |
rbuf, |
|
|
size_t * |
rbuflen |
|
) |
| |
◆ close_all_vol()
| void close_all_vol |
( |
const AFPObj * |
obj | ) |
|
|
extern |
◆ closevol()
| void closevol |
( |
const AFPObj * |
obj, |
|
|
struct vol * |
vol |
|
) |
| |
|
extern |
◆ cnid_volume_reset()
| void cnid_volume_reset |
( |
const struct vol * |
vol | ) |
|
|
extern |
Announce a CNID table reset and end this session.
Only the session that reset the table sends the hint; a responder that re-broadcast would loop between children. No AFP attention exists for "the
ID space was recycled" — the protocol guarantees IDs are never reused — so the disconnect is the signal.
◆ cnid_volume_tag()
| uint32_t cnid_volume_tag |
( |
const struct vol * |
vol | ) |
|
|
extern |
Stable cross-process identifier for a volume's CNID table.
v_vid is per-process, so the same vid names different volumes in different children. v_uuid is what every child agrees on.
- Returns
- FNV-1a of v_uuid, or 0 if the volume has no UUID
◆ pollvoltime()
| int pollvoltime |
( |
AFPObj * |
obj | ) |
|
|
extern |
poll if a volume is changed by other processes.
- Parameters
-
- Returns
- 0 no attention msg sent, 1 attention msg sent, -1 error (socket closed)
- Note
- if attention return -1 no packet has been sent because the buffer is full, we don't care either there's no reader or there's a lot of traffic and another pollvoltime will follow
◆ setvoltime()
| void setvoltime |
( |
AFPObj * |
obj, |
|
|
struct vol * |
vol |
|
) |
| |
|
extern |
◆ ustatfs_getvolspace()
| int ustatfs_getvolspace |
( |
const struct vol * |
vol, |
|
|
VolSpace * |
bfree, |
|
|
VolSpace * |
btotal, |
|
|
uint32_t * |
bsize |
|
) |
| |
|
extern |
Get the free space on a partition.