blob: a85a65e1238c35bac04c708f9eb2539cf21fa550 (
plain)
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
|
cdef extern from *:
ctypedef int size_t
cdef extern from "errno.h":
int errno
cdef extern from "string.h":
char* strerror (int errno)
size_t strlen (char* s)
char* strcpy (char* dest, char* src)
cdef extern from "stdio.h":
ctypedef struct FILE:
pass
FILE* c_fopen "fopen" (char* path, char* mode)
int c_fclose "fclose" (FILE* f)
int c_feof "feof" (FILE* f)
int fread (void* buf, size_t size, size_t n, FILE* f)
enum WHENCE:
SEEK_SET
SEEK_CUR
SEEK_END
int fseek (FILE* stream, long offset, WHENCE whence)
cdef extern from "Python.h":
ctypedef struct PyObject:
pass
void* PyMem_Malloc (size_t n)
void PyMem_Free (void* p)
cdef:
struct File:
FILE* file
char* name
File* fopen (char* path, char* mode) except NULL
void fclose (File* f)
void ffree (void* p)
char* fget (File* f, size_t n) except NULL
char* strdup (char* other) except NULL
|