home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ldapsdk.zip / include / lutil.h < prev    next >
C/C++ Source or Header  |  2001-06-14  |  3KB  |  116 lines

  1. /* $OpenLDAP: pkg/ldap/include/lutil.h,v 1.12.2.7 2001/06/14 00:05:15 kurt Exp $ */
  2. /*
  3.  * Copyright 1998-2001 The OpenLDAP Foundation, Redwood City, California, USA
  4.  * All rights reserved.
  5.  *
  6.  * Redistribution and use in source and binary forms, with or without
  7.  * modification, are permitted only as authorized by the OpenLDAP
  8.  * Public License.  A copy of this license is available at
  9.  * http://www.OpenLDAP.org/license.html or in file LICENSE in the
  10.  * top-level directory of the distribution.
  11.  */
  12.  
  13. #ifndef _LUTIL_H
  14. #define _LUTIL_H 1
  15.  
  16. #include <ldap_cdefs.h>
  17. #include <lber_types.h>
  18.  
  19. /*
  20.  * Include file for LDAP utility routine
  21.  */
  22.  
  23. LDAP_BEGIN_DECL
  24.  
  25. /* n octets encode into ceiling(n/3) * 4 bytes */
  26. /* Avoid floating point math by through extra padding */
  27.  
  28. #define LUTIL_BASE64_ENCODE_LEN(n)    ((n)/3 * 4 + 4)
  29. #define LUTIL_BASE64_DECODE_LEN(n)    ((n)/4 * 3)
  30.  
  31. /* ISC Base64 Routines */
  32. /* base64.c */
  33.  
  34. LDAP_LUTIL_F( int )
  35. lutil_b64_ntop LDAP_P((
  36.     unsigned char const *,
  37.     size_t,
  38.     char *,
  39.     size_t));
  40.  
  41. LDAP_LUTIL_F( int )
  42. lutil_b64_pton LDAP_P((
  43.     char const *,
  44.     unsigned char *,
  45.     size_t));
  46.  
  47. /* detach.c */
  48. LDAP_LUTIL_F( void )
  49. lutil_detach LDAP_P((
  50.     int debug,
  51.     int do_close));
  52.  
  53. /* entropy.c */
  54. LDAP_LUTIL_F( int )
  55. lutil_entropy LDAP_P((
  56.     unsigned char *buf,
  57.     ber_len_t nbytes ));
  58.  
  59. /* passwd.c */
  60. struct berval; /* avoid pulling in lber.h */
  61.  
  62. LDAP_LUTIL_F( int )
  63. lutil_authpasswd LDAP_P((
  64.     const struct berval *passwd,    /* stored password */
  65.     const struct berval *cred,    /* user supplied value */
  66.     const char **methods ));
  67.  
  68. LDAP_LUTIL_F( int )
  69. lutil_authpasswd_hash LDAP_P((
  70.     const struct berval *cred,
  71.     struct berval **passwd,    /* password to store */
  72.     struct berval **salt,    /* salt to store */
  73.     const char *method ));
  74.  
  75. #if defined( SLAPD_SPASSWD ) && defined( HAVE_CYRUS_SASL )
  76.     /* cheat to avoid pulling in <sasl.h> */
  77. LDAP_LUTIL_F( struct sasl_conn * ) lutil_passwd_sasl_conn;
  78. #endif
  79.  
  80. LDAP_LUTIL_F( int )
  81. lutil_passwd LDAP_P((
  82.     const struct berval *passwd,    /* stored password */
  83.     const struct berval *cred,    /* user supplied value */
  84.     const char **methods ));
  85.  
  86. LDAP_LUTIL_F( struct berval * )
  87. lutil_passwd_generate LDAP_P(( ber_len_t ));
  88.  
  89. LDAP_LUTIL_F( struct berval * )
  90. lutil_passwd_hash LDAP_P((
  91.     const struct berval *passwd,
  92.     const char *method ));
  93.  
  94. LDAP_LUTIL_F( int )
  95. lutil_passwd_scheme LDAP_P((
  96.     const char *scheme ));
  97.  
  98. LDAP_LUTIL_F( int )
  99. lutil_salt_format LDAP_P((
  100.     const char *format ));
  101.  
  102. /* utils.c */
  103. LDAP_LUTIL_F( char* )
  104. lutil_progname LDAP_P((
  105.     const char* name,
  106.     int argc,
  107.     char *argv[] ));
  108.  
  109. /* sockpair.c */
  110. LDAP_LUTIL_F( int )
  111. lutil_pair( LBER_SOCKET_T sd[2] );
  112.  
  113. LDAP_END_DECL
  114.  
  115. #endif /* _LUTIL_H */
  116.