compat.h (1337B)
1 /* 2 This file is part of GNUnet. 3 Copyright (C) 2001, 2002, 2003, 2004, 2005 GNUnet e.V. 4 5 GNUnet is free software: you can redistribute it and/or modify it 6 under the terms of the GNU Affero General Public License as published 7 by the Free Software Foundation, either version 3 of the License, 8 or (at your option) any later version. 9 10 GNUnet is distributed in the hope that it will be useful, but 11 WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Affero General Public License for more details. 14 15 You should have received a copy of the GNU Affero General Public License 16 along with this program. If not, see <http://www.gnu.org/licenses/>. 17 18 SPDX-License-Identifier: AGPL3.0-or-later 19 */ 20 21 /** 22 * @author Martin Schanzenbach 23 * 24 * @file include/compat.h 25 * Definitions for macOS and Win32 26 */ 27 28 #ifndef _COMPAT_H 29 #define _COMPAT_H 30 31 #ifdef __cplusplus 32 extern "C" 33 { 34 #endif 35 36 /** 37 * memrchr as defined in glibc 38 * 39 * @param s pointer to memory 40 * @param c character to search for 41 * @param n search character limit 42 */ 43 void* 44 GN_memrchr_ (const void *s, 45 int c, 46 size_t n); 47 48 #ifndef HAVE_MEMRCHR 49 #define memrchr(s, c, n) GN_memrchr_ (s, c, n) 50 #endif 51 52 #ifdef __cplusplus 53 } 54 #endif 55 56 #endif