12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- from cffi import FFI
- ffibuilder = FFI()
- import pathlib
- this_dir = pathlib.Path().absolute()
- ffibuilder.cdef("""
- typedef struct {
- FILE* HdrFile_PS; /* File handle for .JHR file */
- FILE* TxtFile_PS; /* File handle for .JDT file */
- FILE* IdxFile_PS; /* File handle for .JDX file */
- FILE* LrdFile_PS; /* File handle for .JLR file */
- int Errno_I; /* last i/o error */
- int Locked_I; /* is area locked? */
- uint32_t LastUserPos_I; /* last position of lastread record */
- uint32_t LastUserId_I; /* userid for the last read lastread record */
- } s_JamBase;
- int JAM_OpenMB ( char* Basename_PC, s_JamBase** NewArea_PPS );
- int JAM_CloseMB ( s_JamBase* Area_PS );
- """)
- ffibuilder.set_source("_pi_cffi",
- """
- #include "jam.h" // the C header of the library
- """,
-
-
-
- extra_link_args=["jamlib.a"],
- )
- if __name__ == "__main__":
- ffibuilder.compile(verbose=True)
|