1c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#ifndef Py_BYTES_CTYPE_H 2c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define Py_BYTES_CTYPE_H 3c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 4c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel/* 5c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel * The internal implementation behind PyString (bytes) and PyBytes (buffer) 6c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel * methods of the given names, they operate on ASCII byte strings. 7c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel */ 8c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_isspace(const char *cptr, Py_ssize_t len); 9c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_isalpha(const char *cptr, Py_ssize_t len); 10c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_isalnum(const char *cptr, Py_ssize_t len); 11c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_isdigit(const char *cptr, Py_ssize_t len); 12c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_islower(const char *cptr, Py_ssize_t len); 13c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_isupper(const char *cptr, Py_ssize_t len); 14c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern PyObject* _Py_bytes_istitle(const char *cptr, Py_ssize_t len); 15c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 16c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel/* These store their len sized answer in the given preallocated *result arg. */ 17c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern void _Py_bytes_lower(char *result, const char *cptr, Py_ssize_t len); 18c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern void _Py_bytes_upper(char *result, const char *cptr, Py_ssize_t len); 19c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern void _Py_bytes_title(char *result, char *s, Py_ssize_t len); 20c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern void _Py_bytes_capitalize(char *result, char *s, Py_ssize_t len); 21c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern void _Py_bytes_swapcase(char *result, char *s, Py_ssize_t len); 22c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 23c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel/* Shared __doc__ strings. */ 24c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_isspace__doc__[]; 25c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_isalpha__doc__[]; 26c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_isalnum__doc__[]; 27c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_isdigit__doc__[]; 28c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_islower__doc__[]; 29c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_isupper__doc__[]; 30c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_istitle__doc__[]; 31c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_lower__doc__[]; 32c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_upper__doc__[]; 33c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_title__doc__[]; 34c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_capitalize__doc__[]; 35c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDanielextern const char _Py_swapcase__doc__[]; 36c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 37c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel/* These are left in for backward compatibility and will be removed 38c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel in 2.8/3.2 */ 39c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISLOWER(c) Py_ISLOWER(c) 40c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISUPPER(c) Py_ISUPPER(c) 41c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISALPHA(c) Py_ISALPHA(c) 42c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISDIGIT(c) Py_ISDIGIT(c) 43c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISXDIGIT(c) Py_ISXDIGIT(c) 44c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISALNUM(c) Py_ISALNUM(c) 45c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define ISSPACE(c) Py_ISSPACE(c) 46c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 47c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef islower 48c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define islower(c) undefined_islower(c) 49c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef isupper 50c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define isupper(c) undefined_isupper(c) 51c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef isalpha 52c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define isalpha(c) undefined_isalpha(c) 53c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef isdigit 54c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define isdigit(c) undefined_isdigit(c) 55c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef isxdigit 56c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define isxdigit(c) undefined_isxdigit(c) 57c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef isalnum 58c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define isalnum(c) undefined_isalnum(c) 59c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef isspace 60c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define isspace(c) undefined_isspace(c) 61c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 62c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel/* These are left in for backward compatibility and will be removed 63c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel in 2.8/3.2 */ 64c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define TOLOWER(c) Py_TOLOWER(c) 65c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define TOUPPER(c) Py_TOUPPER(c) 66c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 67c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef tolower 68c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define tolower(c) undefined_tolower(c) 69c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#undef toupper 70c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define toupper(c) undefined_toupper(c) 71c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 72c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel/* this is needed because some docs are shared from the .o, not static */ 73c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#define PyDoc_STRVAR_shared(name,str) const char name[] = PyDoc_STR(str) 74c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel 75c8042e10763bca064df257547d04ae3dfcdfaf91Daryl McDaniel#endif /* !Py_BYTES_CTYPE_H */ 76