17db96d56Sopenharmony_ci#ifndef Py_INTERNAL_STRHEX_H 27db96d56Sopenharmony_ci#define Py_INTERNAL_STRHEX_H 37db96d56Sopenharmony_ci#ifdef __cplusplus 47db96d56Sopenharmony_ciextern "C" { 57db96d56Sopenharmony_ci#endif 67db96d56Sopenharmony_ci 77db96d56Sopenharmony_ci#ifndef Py_BUILD_CORE 87db96d56Sopenharmony_ci# error "this header requires Py_BUILD_CORE define" 97db96d56Sopenharmony_ci#endif 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_ci// Returns a str() containing the hex representation of argbuf. 127db96d56Sopenharmony_ciPyAPI_FUNC(PyObject*) _Py_strhex(const 137db96d56Sopenharmony_ci char* argbuf, 147db96d56Sopenharmony_ci const Py_ssize_t arglen); 157db96d56Sopenharmony_ci 167db96d56Sopenharmony_ci// Returns a bytes() containing the ASCII hex representation of argbuf. 177db96d56Sopenharmony_ciPyAPI_FUNC(PyObject*) _Py_strhex_bytes( 187db96d56Sopenharmony_ci const char* argbuf, 197db96d56Sopenharmony_ci const Py_ssize_t arglen); 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ci// These variants include support for a separator between every N bytes: 227db96d56Sopenharmony_ciPyAPI_FUNC(PyObject*) _Py_strhex_with_sep( 237db96d56Sopenharmony_ci const char* argbuf, 247db96d56Sopenharmony_ci const Py_ssize_t arglen, 257db96d56Sopenharmony_ci PyObject* sep, 267db96d56Sopenharmony_ci const int bytes_per_group); 277db96d56Sopenharmony_ciPyAPI_FUNC(PyObject*) _Py_strhex_bytes_with_sep( 287db96d56Sopenharmony_ci const char* argbuf, 297db96d56Sopenharmony_ci const Py_ssize_t arglen, 307db96d56Sopenharmony_ci PyObject* sep, 317db96d56Sopenharmony_ci const int bytes_per_group); 327db96d56Sopenharmony_ci 337db96d56Sopenharmony_ci#ifdef __cplusplus 347db96d56Sopenharmony_ci} 357db96d56Sopenharmony_ci#endif 367db96d56Sopenharmony_ci#endif /* !Py_INTERNAL_STRHEX_H */ 37