//----------------------------------------------------------------------------//
//                           GNU GPL OS/K                                     //
//                                                                            //
//  Desc:       Function name masks for compiling the Kaleid CRT on Linux     //
//                                                                            //
//                                                                            //
//  Copyright © 2018-2019 The OS/K Team                                       //
//                                                                            //
//  This file is part of OS/K.                                                //
//                                                                            //
//  OS/K is free software: you can redistribute it and/or modify              //
//  it under the terms of the GNU General Public License as published by      //
//  the Free Software Foundation, either version 3 of the License, or         //
//  any later version.                                                        //
//                                                                            //
//  OS/K is distributed in the hope that it will be useful,                   //
//  but WITHOUT ANY WARRANTY//without even the implied warranty of            //
//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the             //
//  GNU General Public License for more details.                              //
//                                                                            //
//  You should have received a copy of the GNU General Public License         //
//  along with OS/K.  If not, see <https://www.gnu.org/licenses/>.            //
//----------------------------------------------------------------------------//

#ifndef _KALBASE_MASKS_H
#define _KALBASE_MASKS_H

//
// This file is only used for testing purposes
// It will be deleted at some point
//

//------------------------------------------//

#define div_t       _osk_div_t
#define ldiv_t      _osk_ldiv_t

//------------------------------------------//

#define memset      _osk_memsetb
#define memchr      _osk_memchrb

#define memsetb     _osk_memsetb
#define memsetw     _osk_memsetw
#define memsetd     _osk_memsetd
#define memsetq     _osk_memsetq

#define memchr      _osk_memchrb
#define memchrw     _osk_memchrw
#define memchrd     _osk_memchrd
#define memchrq     _osk_memchrq

#define memcpy      _osk_memcpy
#define memmove     _osk_memmove

#define memcmp      _osk_memcmp
#define memzero     _osk_memzero

//------------------------------------------//

#undef  strspn
#undef  strcspn
#define strlen      _osk_strlen
#define strspn      _osk_strspn
#define strcspn     _osk_strcspn

#undef  strcmp
#undef  strncmp
#define strcmp      _osk_strcmp
#define strncmp     _osk_strncmp

#undef  strchr
#undef  strrchr
#define strchr      _osk_strchr
#define strrchr     _osk_strrchr

#undef  strstr
#undef  strpbrk
#define strstr      _osk_strstr
#define strpbrk     _osk_strpbrk

#undef  strtok
#undef  strtok_r
#define strtok      _osk_strtok
#define strtok_r    _osk_strtok_r

#undef  strcpy
#undef  strncpy
#define strcpy      _osk_strcpy
#define strncpy     _osk_strncpy
#define strnzcpy    _osk_strnzcpy

#undef  strcat
#undef  strncat
#define strcat      _osk_strcat
#define strncat     _osk_strncat
#define strnzcat    _osk_strnzcat

#define strrev      _osk_strrev
#define strrev2     _osk_strrev2

#define sprintf     _osk_sprintf
#define snprintf    _osk_snprintf
#define vsprintf    _osk_vsprintf
#define vsnprintf   _osk_vsnprintf

//------------------------------------------//

#define itoa        _osk_itoa
#define ltoa        _osk_ltoa
#define utoa        _osk_utoa
#define ultoa       _osk_ultoa

#define atoi        _osk_atoi
#define atol        _osk_atol
#define atou        _osk_atou
#define atoul       _osk_atoul

#define strtol      _osk_strtol
#define strtoul     _osk_strtoul

//------------------------------------------//

#define rand        _osk_rand
#define srand       _osk_srand

//------------------------------------------//

#define toupper     _osk_toupper
#define tolower     _osk_tolower

#define isascii     _osk_isascii
#define iscntrl     _osk_iscntrl
#define isprint     _osk_isprint
#define isgraph     _osk_isgraph
#define isdigit     _osk_isdigit
#define isspace     _osk_isspace
#define isblank     _osk_isblank
#define ispunct     _osk_ispunct
#define isalpha     _osk_isalpha
#define isupper     _osk_isupper
#define islower     _osk_islower
#define isalnum     _osk_isalnum
#define isxdigit    _osk_isxdigit

#define __ctype     __osk_ctype

//------------------------------------------//

#define abs         _osk_abs
#define labs        _osk_labs

#define min         _osk_min
#define lmin        _osk_lmin

#define max         _osk_max
#define lmax        _osk_lmax

#define div         _osk_div
#define ldiv        _osk_ldiv

//------------------------------------------//

#define strerror    _osk_strerror

//------------------------------------------//

#endif