aclbuild.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /** BEGIN COPYRIGHT BLOCK
  2. * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
  3. * Copyright (C) 2005 Red Hat, Inc.
  4. * All rights reserved.
  5. * END COPYRIGHT BLOCK **/
  6. #ifndef __aclbuild_h
  7. #define __aclbuild_h
  8. /*
  9. * Description (aclbuild.h)
  10. *
  11. * This file describes the interface to a module which provides
  12. * functions for building Access Control List (ACL) structures
  13. * in memory.
  14. */
  15. #include "usi.h"
  16. #include "nserror.h"
  17. #include "aclstruct.h"
  18. /* Define flags for aclAuthNameAdd() return value */
  19. #define ANA_GROUP 0x1 /* name matches group name */
  20. #define ANA_USER 0x2 /* name matches user name */
  21. #define ANA_DUP 0x4 /* name already in AuthNode_t */
  22. NSPR_BEGIN_EXTERN_C
  23. /* Functions in aclbuild.c */
  24. extern int accCreate(NSErr_t * errp, void * stp, ACContext_t **pacc);
  25. extern void accDestroy(ACContext_t * acc, int flags);
  26. extern int accDestroySym(Symbol_t * sym, void * argp);
  27. extern int accReadFile(NSErr_t * errp, char * aclfile, ACContext_t **pacc);
  28. extern int aclAuthDNSAdd(HostSpec_t **hspp, char * dnsspec, int fqdn);
  29. extern int aclAuthIPAdd(HostSpec_t **hspp, IPAddr_t ipaddr, IPAddr_t netmask);
  30. extern int aclAuthNameAdd(NSErr_t * errp, UserSpec_t * usp,
  31. Realm_t * rlm, char * name);
  32. extern ACClients_t * aclClientsDirCreate();
  33. extern int aclCreate(NSErr_t * errp,
  34. ACContext_t * acc, char * aclname, ACL_t **pacl);
  35. extern void aclDestroy(ACL_t * acl);
  36. extern void aclDelete(ACL_t * acl);
  37. extern int aclDirectiveAdd(ACL_t * acl, ACDirective_t * acd);
  38. extern ACDirective_t * aclDirectiveCreate();
  39. extern void aclDirectiveDestroy(ACDirective_t * acd);
  40. extern int aclDNSSpecDestroy(Symbol_t * sym, void * parg);
  41. extern void aclHostSpecDestroy(HostSpec_t * hsp);
  42. extern void aclRealmSpecDestroy(RealmSpec_t * rsp);
  43. extern int aclRightDef(NSErr_t * errp,
  44. ACContext_t * acc, char * rname, RightDef_t **prd);
  45. extern void aclRightSpecDestroy(RightSpec_t * rsp);
  46. extern UserSpec_t * aclUserSpecCreate();
  47. extern void aclUserSpecDestroy(UserSpec_t * usp);
  48. NSPR_END_EXTERN_C
  49. #endif /* __aclbuild_h */