1 #ifndef _DESTRING_H 2 #define _DESTRING_H 3 /*------------------------------------------------------------------------- 4 * drawElements Base Portability Library 5 * ------------------------------------- 6 * 7 * Copyright 2014 The Android Open Source Project 8 * 9 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * you may not use this file except in compliance with the License. 11 * You may obtain a copy of the License at 12 * 13 * http://www.apache.org/licenses/LICENSE-2.0 14 * 15 * Unless required by applicable law or agreed to in writing, software 16 * distributed under the License is distributed on an "AS IS" BASIS, 17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 18 * See the License for the specific language governing permissions and 19 * limitations under the License. 20 * 21 *//*! 22 * \file 23 * \brief Basic string operations. 24 *//*--------------------------------------------------------------------*/ 25 26 #include "deDefs.h" 27 28 #include <stdio.h> 29 #include <string.h> 30 #include <stdarg.h> 31 32 DE_BEGIN_EXTERN_C 33 34 uint32_t deStringHash(const char *str); 35 uint32_t deStringHashLeading(const char *str, int numLeadingChars); 36 bool deStringEqual(const char *a, const char *b); 37 bool deStringBeginsWith(const char *str, const char *leading); 38 39 uint32_t deMemoryHash(const void *ptr, size_t numBytes); 40 bool deMemoryEqual(const void *ptr, const void *cmp, size_t numBytes); 41 42 int32_t deVsprintf(char *string, size_t size, const char *format, va_list args); 43 int32_t deSprintf(char *string, size_t size, const char *format, ...) DE_PRINTF_FUNC_ATTR(3, 4); 44 char *deStrcpy(char *dst, size_t size, const char *src); 45 char *deStrcat(char *s1, size_t size, const char *s2); 46 size_t deStrnlen(const char *string, size_t maxSize); 47 48 DE_END_EXTERN_C 49 50 #endif /* _DESTRING_H */ 51