2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-24 02:58:38 +00:00
bind/lib/isc/include/isc/string.h

79 lines
2.0 KiB
C
Raw Normal View History

2000-01-21 01:40:27 +00:00
/*
2005-04-29 00:24:12 +00:00
* Copyright (C) 2004, 2005 Internet Systems Consortium, Inc. ("ISC")
2004-03-05 05:14:21 +00:00
* Copyright (C) 2000, 2001, 2003 Internet Software Consortium.
*
2000-01-21 01:40:27 +00:00
* Permission to use, copy, modify, and distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
2004-03-05 05:14:21 +00:00
* THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
* REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
* AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
* INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
* LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
* OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
2000-01-21 01:40:27 +00:00
*/
2005-04-29 00:24:12 +00:00
/* $Id: string.h,v 1.14 2005/04/29 00:23:45 marka Exp $ */
2000-06-22 22:00:42 +00:00
#ifndef ISC_STRING_H
#define ISC_STRING_H 1
/*! \file */
2000-01-21 01:40:27 +00:00
#include <string.h>
#include <isc/int.h>
#include <isc/lang.h>
#include <isc/platform.h>
2000-01-21 01:40:27 +00:00
ISC_LANG_BEGINDECLS
isc_uint64_t
isc_string_touint64(char *source, char **endp, int base);
/*%<
* Convert the string pointed to by 'source' to isc_uint64_t.
*
* On successful conversion 'endp' points to the first character
* after conversion is complete.
*
* 'base': 0 or 2..36
*
* If base is 0 the base is computed from the string type.
*
* On error 'endp' points to 'source'.
*/
2000-01-21 01:40:27 +00:00
char *
isc_string_separate(char **stringp, const char *delim);
#ifdef ISC_PLATFORM_NEEDSTRSEP
#define strsep isc_string_separate
#endif
2000-01-21 01:40:27 +00:00
#ifdef ISC_PLATFORM_NEEDMEMMOVE
#define memmove(a,b,c) bcopy(b,a,c)
#endif
size_t
isc_string_strlcpy(char *dst, const char *src, size_t size);
#ifdef ISC_PLATFORM_NEEDSTRLCPY
#define strlcpy isc_string_strlcpy
#endif
size_t
isc_string_strlcat(char *dst, const char *src, size_t size);
#ifdef ISC_PLATFORM_NEEDSTRLCAT
#define strlcat isc_string_strlcat
#endif
2000-01-21 01:40:27 +00:00
ISC_LANG_ENDDECLS
#endif /* ISC_STRING_H */