Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.9 KiB

  1. /*** impexp.h - Import/Export module - specification
  2. *
  3. * Copyright <C> 1992, Microsoft Corporation
  4. *
  5. * This module contains proprietary information of Microsoft
  6. * Corporation and should be treated as confidential.
  7. *
  8. * Purpose:
  9. * Build and write segmented-executable import/export tables
  10. *
  11. * Revision History:
  12. *
  13. * 29-May-1992 Wieslaw Kalkus Created
  14. *
  15. *************************************************************************/
  16. typedef struct _DYNBYTEARRAY
  17. {
  18. WORD byteMac; // Number of bytes in the array
  19. WORD byteMax; // Allocated size
  20. BYTE FAR *rgByte; // Array of bytes
  21. }
  22. DYNBYTEARRAY;
  23. typedef struct _DYNWORDARRAY
  24. {
  25. WORD wordMac; // Number of words in the array
  26. WORD wordMax; // Allocated size
  27. WORD FAR *rgWord; // Array of words
  28. }
  29. DYNWORDARRAY;
  30. #define DEF_BYTE_ARR_SIZE 1024
  31. #define DEF_WORD_ARR_SIZE 512
  32. extern DYNBYTEARRAY ResidentName;
  33. extern DYNBYTEARRAY NonResidentName;
  34. extern DYNBYTEARRAY ImportedName;
  35. extern DYNWORDARRAY ModuleRefTable;
  36. extern DYNBYTEARRAY EntryTable;
  37. void InitByteArray(DYNBYTEARRAY *pArray);
  38. void FreeByteArray(DYNBYTEARRAY *pArray);
  39. WORD ByteArrayPut(DYNBYTEARRAY *pArray, WORD size, BYTE *pBuf);
  40. void WriteByteArray(DYNBYTEARRAY *pArray);
  41. void InitWordArray(DYNWORDARRAY *pArray);
  42. void FreeWordArray(DYNWORDARRAY *pArray);
  43. WORD WordArrayPut(DYNWORDARRAY *pArray, WORD val);
  44. void WriteWordArray(DYNWORDARRAY *pArray);
  45. void AddName(DYNBYTEARRAY *pTable, BYTE *sbName, WORD ord);
  46. WORD AddImportedName(BYTE *sbName);
  47. WORD AddEntry(BYTE *entry, WORD size);