NewString and NewStringZ APIs.
No more bit-fields (nod to jband and fur, thanks).
Cleaned up Annotation structures.
On-disk offsets are 1-based.
Write annotations to disk, and account for them in header size, etc.
Fix sundry cursor-vs-&cursor bugs and don't-allocate-on-decode bugs.
Write MethodDescriptors and InterfaceDescriptors to disk!
Executive Summary: can now write very simple .xpt files!
git-svn-id: svn://10.0.0.236/trunk@18505 18797224-902f-48f8-a5cc-f745e15eee43
Minor brace-placement tweaks.
Added SimpleTypeLib test program, although it doesn't build due to Makefile.in
suckage.
Fixed XPT_DoHeader to only write IDEs once (duh).
Added SizeOfHeaderBlock to API.
git-svn-id: svn://10.0.0.236/trunk@18317 18797224-902f-48f8-a5cc-f745e15eee43
* removed struct size #defines -> they were just silly anyway.
* replaced references to IDE file offsetsi with uint32 indices.
* first attempt at sorting out order of storage for XPTHeader and XPTInterfaceDirectoryEntry
git-svn-id: svn://10.0.0.236/trunk@18185 18797224-902f-48f8-a5cc-f745e15eee43
Mild macro renaming.
Debugging output from CHECK_COUNT.
Fixed primitives and PrimitiveTest: we now pass! (32, 16, 8 and CString)
Dynamically link PrimitiveTest.
git-svn-id: svn://10.0.0.236/trunk@18176 18797224-902f-48f8-a5cc-f745e15eee43
* added looping to read/write InterfaceDirectoryEntrys
* InterfaceDescriptors are no longer DECODEd as part of the IDE DECODEing process
* added skeleton for XPT_GetDescriptorByOffset
git-svn-id: svn://10.0.0.236/trunk@18076 18797224-902f-48f8-a5cc-f745e15eee43
* added #defines for is_pointer/tag combos used in TypeDescriptors to match table in typelib spec.
* now handle error case in xpt_struct.c using macro
* still must do offset management
git-svn-id: svn://10.0.0.236/trunk@17966 18797224-902f-48f8-a5cc-f745e15eee43
* modified in-memory structs slightly to get them to compile
* xpt_strcut.c now compiles, and with no warnings (at no extra charge)
* still must do offset management
git-svn-id: svn://10.0.0.236/trunk@17963 18797224-902f-48f8-a5cc-f745e15eee43
* Added at least basic comments for all structs.
* Added #defines for struct sizes.
git-svn-id: svn://10.0.0.236/trunk@17947 18797224-902f-48f8-a5cc-f745e15eee43
- updated and streamlined in-memory structure to coincide with typelib specification.
- added comments for more obtuse structures
git-svn-id: svn://10.0.0.236/trunk@17860 18797224-902f-48f8-a5cc-f745e15eee43