--- include/lutil.h 2007/01/02 19:00:56 1.67 +++ include/lutil.h 2010/04/13 20:17:49 1.78 @@ -1,7 +1,7 @@ -/* $OpenLDAP: pkg/ldap/include/lutil.h,v 1.66 2006/12/17 21:04:25 ando Exp $ */ +/* $OpenLDAP: pkg/ldap/include/lutil.h,v 1.77 2009/11/15 17:26:53 ando Exp $ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2007 The OpenLDAP Foundation. + * Copyright 1998-2010 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -158,6 +158,7 @@ typedef struct lutil_tm { int tm_mon; /* month 0-11 */ int tm_year; /* year - 1900 */ int tm_usec; /* microseconds */ + int tm_usub; /* submicro */ } lutil_tm; typedef struct lutil_timet { @@ -166,10 +167,12 @@ typedef struct lutil_timet { unsigned int tt_usec; /* microseconds */ } lutil_timet; +/* Parse a timestamp string into a structure */ LDAP_LUTIL_F( int ) lutil_parsetime LDAP_P(( char *atm, struct lutil_tm * )); +/* Convert structured time to time in seconds since 1900 */ LDAP_LUTIL_F( int ) lutil_tm2time LDAP_P(( struct lutil_tm *, struct lutil_timet * )); @@ -188,6 +191,11 @@ lutil_strcopy LDAP_P(( char *dst, const LDAP_LUTIL_F( char* ) lutil_strncopy LDAP_P(( char *dst, const char *src, size_t n )); +LDAP_LUTIL_F( char* ) +lutil_memcopy LDAP_P(( char *dst, const char *src, size_t n )); + +#define lutil_strbvcopy(a, bv) lutil_memcopy((a),(bv)->bv_val,(bv)->bv_len) + struct tm; /* use this macro to statically allocate buffer for lutil_gentime */ @@ -212,11 +220,12 @@ lutil_pair( ber_socket_t sd[2] ); LDAP_LUTIL_F( size_t ) lutil_uuidstr( char *buf, size_t len ); -/* csn.c */ -/* use this macro to allocate buffer for lutil_csnstr */ -#define LDAP_LUTIL_CSNSTR_BUFSIZE 64 -LDAP_LUTIL_F( size_t ) -lutil_csnstr( char *buf, size_t len, unsigned int replica, unsigned int mod ); +LDAP_LUTIL_F( int ) +lutil_uuidstr_from_normalized( + char *uuid, + size_t uuidlen, + char *buf, + size_t buflen ); /* * Sometimes not all declarations in a header file are needed. @@ -291,6 +300,10 @@ lutil_atoulx( unsigned long *v, const ch #define lutil_atoul(v, s) lutil_atoulx((v), (s), 10) LDAP_LUTIL_F (int) +lutil_str2bin( struct berval *in, struct berval *out, void *ctx ); + +/* Parse and unparse time intervals */ +LDAP_LUTIL_F (int) lutil_parse_time( const char *in, unsigned long *tp ); LDAP_LUTIL_F (int)