/*
 * Copyright (c) 1990,1994 Regents of The University of Michigan.
 * All Rights Reserved.  See COPYRIGHT.
 */

#ifndef AFPD_VOLUME_H
#define AFPD_VOLUME_H 1

#include <arpa/inet.h>
#include <sys/types.h>

#include <atalk/cnid.h>
#include <atalk/globals.h>
#include <atalk/unicode.h>
#include <atalk/volume.h>

extern int              ustatfs_getvolspace (const struct vol *,
                                             VolSpace *, VolSpace *,
                                             uint32_t *);
extern void             setvoltime (AFPObj *, struct vol *);
extern int              pollvoltime (AFPObj *);

/* FP functions */
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);

/* netatalk functions */
extern void close_all_vol(const AFPObj *obj);
extern void closevol(const AFPObj *obj, struct vol *vol);
#endif
