• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef Py_INTERNAL_STRHEX_H
2 #define Py_INTERNAL_STRHEX_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 #ifndef Py_BUILD_CORE
8 #  error "this header requires Py_BUILD_CORE define"
9 #endif
10 
11 // Returns a str() containing the hex representation of argbuf.
12 // Export for '_hashlib' shared extension.
13 PyAPI_FUNC(PyObject*) _Py_strhex(const
14     char* argbuf,
15     const Py_ssize_t arglen);
16 
17 // Returns a bytes() containing the ASCII hex representation of argbuf.
18 extern PyObject* _Py_strhex_bytes(
19     const char* argbuf,
20     const Py_ssize_t arglen);
21 
22 // These variants include support for a separator between every N bytes:
23 extern PyObject* _Py_strhex_with_sep(
24     const char* argbuf,
25     const Py_ssize_t arglen,
26     PyObject* sep,
27     const int bytes_per_group);
28 
29 // Export for 'binascii' shared extension
30 PyAPI_FUNC(PyObject*) _Py_strhex_bytes_with_sep(
31     const char* argbuf,
32     const Py_ssize_t arglen,
33     PyObject* sep,
34     const int bytes_per_group);
35 
36 #ifdef __cplusplus
37 }
38 #endif
39 #endif /* !Py_INTERNAL_STRHEX_H */
40