FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
python/Include/cStringIO.h at master · broncodans/python · GitHub
broncodans
/
python
Public
forked from
glix/python
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Wiki
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Wiki
Security and quality
Insights
Expand file tree
Breadcrumbs
python
/
Include
/
cStringIO.h
Copy path
More file actions
More file actions
Latest commit
History
History
History
70 lines (53 loc) · 1.95 KB
Breadcrumbs
python
/
Include
/
cStringIO.h
Copy path
File metadata and controls
70 lines (53 loc) · 1.95 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#ifndef
Py_CSTRINGIO_H
#define
Py_CSTRINGIO_H
#ifdef
__cplusplus
extern
"C"
{
#endif
/*
This header provides access to cStringIO objects from C.
Functions are provided for calling cStringIO objects and
macros are provided for testing whether you have cStringIO
objects.
Before calling any of the functions or macros, you must initialize
the routines with:
PycString_IMPORT
This would typically be done in your init function.
*/
#define
PycString_IMPORT
\
PycStringIO = (struct PycStringIO_CAPI*)PyCObject_Import("cStringIO", \
"cStringIO_CAPI")
/* Basic functions to manipulate cStringIO objects from C */
static
struct
PycStringIO_CAPI
{
/* Read a string from an input object. If the last argument
is -1, the remainder will be read.
*/
int
(
*
cread
)(
PyObject
*
,
char
*
*
,
Py_ssize_t
);
/* Read a line from an input object. Returns the length of the read
line as an int and a pointer inside the object buffer as char** (so
the caller doesn't have to provide its own buffer as destination).
*/
int
(
*
creadline
)(
PyObject
*
,
char
*
*
);
/* Write a string to an output object*/
int
(
*
cwrite
)(
PyObject
*
,
const
char
*
,
Py_ssize_t
);
/* Get the output object as a Python string (returns new reference). */
PyObject
*
(
*
cgetvalue
)(
PyObject
*
);
/* Create a new output object */
PyObject
*
(
*
NewOutput
)(
int
);
/* Create an input object from a Python string
(copies the Python string reference).
*/
PyObject
*
(
*
NewInput
)(
PyObject
*
);
/* The Python types for cStringIO input and output objects.
Note that you can do input on an output object.
*/
PyTypeObject
*
InputType
,
*
OutputType
;
}
*
PycStringIO
;
/* These can be used to test if you have one */
#define
PycStringIO_InputCheck
(
O
) \
(Py_TYPE(O)==PycStringIO->InputType)
#define
PycStringIO_OutputCheck
(
O
) \
(Py_TYPE(O)==PycStringIO->OutputType)
#ifdef
__cplusplus
}
#endif
#endif
/* !Py_CSTRINGIO_H */
Back
|
FazBrowse Home
|
New Git URL