From 6d8a39ad72c8afe47e9c7418100ee686d012083c Mon Sep 17 00:00:00 2001 From: Wesley Shields Date: Wed, 27 Nov 2013 16:17:22 -0500 Subject: [PATCH] Add a bunch of constants. These are useful for checking values I'll be adding support for later. import pepy print hex(pepy.MZ_MAGIC) --- python/pepy.cpp | 60 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/python/pepy.cpp b/python/pepy.cpp index 2c1b34f..dae27a0 100644 --- a/python/pepy.cpp +++ b/python/pepy.cpp @@ -262,4 +262,64 @@ PyMODINIT_FUNC initpepy(void) { PyModule_AddObject(m, "pepy_parsed", (PyObject *) &pepy_parsed_type); PyModule_AddStringMacro(m, PEPY_VERSION); + + PyModule_AddIntMacro(m, MZ_MAGIC); + PyModule_AddIntMacro(m, NT_MAGIC); + PyModule_AddIntMacro(m, NUM_DIR_ENTRIES); + PyModule_AddIntMacro(m, NT_OPTIONAL_32_MAGIC); + PyModule_AddIntMacro(m, NT_SHORT_NAME_LEN); + PyModule_AddIntMacro(m, DIR_EXPORT); + PyModule_AddIntMacro(m, DIR_IMPORT); + PyModule_AddIntMacro(m, DIR_RESOURCE); + PyModule_AddIntMacro(m, DIR_EXCEPTION); + PyModule_AddIntMacro(m, DIR_SECURITY); + PyModule_AddIntMacro(m, DIR_BASERELOC); + PyModule_AddIntMacro(m, DIR_DEBUG); + PyModule_AddIntMacro(m, DIR_ARCHITECTURE); + PyModule_AddIntMacro(m, DIR_GLOBALPTR); + PyModule_AddIntMacro(m, DIR_TLS); + PyModule_AddIntMacro(m, DIR_LOAD_CONFIG); + PyModule_AddIntMacro(m, DIR_BOUND_IMPORT); + PyModule_AddIntMacro(m, DIR_IAT); + PyModule_AddIntMacro(m, DIR_DELAY_IMPORT); + PyModule_AddIntMacro(m, DIR_COM_DESCRIPTOR); + + PyModule_AddIntMacro(m, IMAGE_SCN_TYPE_NO_PAD); + PyModule_AddIntMacro(m, IMAGE_SCN_CNT_CODE); + PyModule_AddIntMacro(m, IMAGE_SCN_CNT_INITIALIZED_DATA); + PyModule_AddIntMacro(m, IMAGE_SCN_CNT_UNINITIALIZED_DATA); + PyModule_AddIntMacro(m, IMAGE_SCN_LNK_OTHER); + PyModule_AddIntMacro(m, IMAGE_SCN_LNK_INFO); + PyModule_AddIntMacro(m, IMAGE_SCN_LNK_REMOVE); + PyModule_AddIntMacro(m, IMAGE_SCN_LNK_COMDAT); + PyModule_AddIntMacro(m, IMAGE_SCN_NO_DEFER_SPEC_EXC); + PyModule_AddIntMacro(m, IMAGE_SCN_GPREL); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_FARDATA); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_PURGEABLE); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_16BIT); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_LOCKED); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_PRELOAD); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_1BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_2BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_4BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_8BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_16BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_32BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_64BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_128BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_256BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_512BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_1024BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_2048BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_4096BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_8192BYTES); + PyModule_AddIntMacro(m, IMAGE_SCN_ALIGN_MASK); + PyModule_AddIntMacro(m, IMAGE_SCN_LNK_NRELOC_OVFL); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_DISCARDABLE); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_NOT_CACHED); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_NOT_PAGED); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_SHARED); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_EXECUTE); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_READ); + PyModule_AddIntMacro(m, IMAGE_SCN_MEM_WRITE); }