mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
8af197560e
Actually Portable Python is now outperforming the Python binaries that come bundled with Linux distros, at things like HTTP serving. You can now have a fully featured Python install in just one .com file that runs on six operating systems and is about 10mb in size. With tuning, the tiniest is ~1mb. We've got most of the libraries working, including pysqlite, and the repl now feels very pleasant. The things you can't do quite yet are: threads and shared objects but that can happen in the future, if the community falls in love with this project and wants to see it developed further. Changes: - Add siginterrupt() - Add sqlite3 to Python - Add issymlink() helper - Make GetZipCdir() faster - Add tgamma() and finite() - Add legacy function lutimes() - Add readlink() and realpath() - Use heap allocations when appropriate - Reorganize Python into two-stage build - Save Lua / Python shell history to dotfile - Integrate Python Lib embedding into linkage - Make isregularfile() and isdirectory() go faster - Make Python shell auto-completion work perfectly - Make crash reports work better if changed directory - Fix Python+NT open() / access() flag overflow error - Disable Python tests relating to \N{LONG NAME} syntax - Have Python REPL copyright() show all notice embeddings The biggest technical challenge at the moment is working around when Python tries to be too clever about filenames.
34 lines
944 B
C
34 lines
944 B
C
#ifndef COSMOPOLITAN_LIBC_NT_STRUCT_REPARSEDATABUFFER_H_
|
|
#define COSMOPOLITAN_LIBC_NT_STRUCT_REPARSEDATABUFFER_H_
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
struct NtReparseDataBuffer {
|
|
uint32_t ReparseTag;
|
|
uint16_t ReparseDataLength;
|
|
uint16_t Reserved;
|
|
union {
|
|
struct {
|
|
uint16_t SubstituteNameOffset;
|
|
uint16_t SubstituteNameLength;
|
|
uint16_t PrintNameOffset;
|
|
uint16_t PrintNameLength;
|
|
uint32_t Flags;
|
|
char16_t PathBuffer[1];
|
|
} SymbolicLinkReparseBuffer;
|
|
struct {
|
|
uint16_t SubstituteNameOffset;
|
|
uint16_t SubstituteNameLength;
|
|
uint16_t PrintNameOffset;
|
|
uint16_t PrintNameLength;
|
|
char16_t PathBuffer[1];
|
|
} MountPointReparseBuffer;
|
|
struct {
|
|
uint8_t DataBuffer[1];
|
|
} GenericReparseBuffer;
|
|
};
|
|
};
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_NT_STRUCT_REPARSEDATABUFFER_H_ */
|