1/* 2 * Copyright (c) 1990,1993 Regents of The University of Michigan. 3 * All Rights Reserved. See COPYRIGHT. 4 */ 5 6#ifndef AFPD_AUTH_H 7#define AFPD_AUTH_H 1 8 9#ifdef HAVE_LIMITS_H 10#include <limits.h> 11#endif /* HAVE_LIMITS_H */ 12 13#ifdef HAVE_SYS_CDEFS_H 14#include <sys/cdefs.h> 15#endif /* HAVE_SYS_CDEFS_H */ 16 17#include <atalk/globals.h> 18 19struct afp_versions { 20 char *av_name; 21 int av_number; 22}; 23 24static const struct afp_versions afp_versions[] = { 25#ifndef NO_DDP 26 { "AFPVersion 1.1", 11 }, 27 { "AFPVersion 2.0", 20 }, 28 { "AFPVersion 2.1", 21 }, 29#endif /* ! NO_DDP */ 30 { "AFP2.2", 22 }, 31 { "AFPX03", 30 }, 32 { "AFP3.1", 31 }, 33 { "AFP3.2", 32 }, 34 { "AFP3.3", 33 } 35}; 36 37/* for GetUserInfo */ 38#define USERIBIT_USER (1 << 0) 39#define USERIBIT_GROUP (1 << 1) 40#define USERIBIT_UUID (1 << 2) 41#define USERIBIT_ALL (USERIBIT_USER | USERIBIT_GROUP | USERIBIT_UUID) 42 43extern uid_t uuid; 44#if defined( sun ) && !defined( __svr4__ ) || defined( ultrix ) 45extern int *groups; 46#else /*sun __svr4__ ultrix*/ 47extern gid_t *groups; 48#endif /*sun __svr4__ ultrix*/ 49extern int ngroups; 50 51extern int set_groups(AFPObj *obj, struct passwd *pwd); 52extern const char *print_groups(int ngroups, gid_t *groups); 53 54/* FP functions */ 55int afp_login (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 56int afp_login_ext (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 57int afp_logincont (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 58int afp_changepw (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 59int afp_logout (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 60int afp_getuserinfo (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 61int afp_getsession (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 62int afp_disconnect (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 63int afp_zzz (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen); 64 65#endif /* auth.h */ 66