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.

47 lines
1.7 KiB

  1. //============== DAE: OS/2 Database Access Engine ===================
  2. //============== fdb.h: Field Descriptor Block ===================
  3. // Flags for field descriptor
  4. #define ffieldNotNull (1<<0) // NULL values not allowed
  5. #define ffieldDeleted (1<<1) // Fixed field has been deleted
  6. #define ffieldVersion (1<<2) // Version field
  7. #define ffieldAutoInc (1<<3) // Auto increment field
  8. #define ffieldMultivalue (1<<4) // Multi-valued column
  9. #ifdef ANGEL
  10. #pragma pack(4)
  11. #endif
  12. // Entry in field descriptor tables found in an FDB.
  13. typedef struct _field
  14. {
  15. JET_COLTYP coltyp; // column data type
  16. LANGID langid; // language of field
  17. WORD wCountry; // country of language
  18. USHORT cp; // code page of language
  19. ULONG cbMaxLen; // maximum length
  20. BYTE ffield; // various flags
  21. CHAR szFieldName[JET_cbNameMost + 1]; // name of field
  22. } FIELD;
  23. // Field Descriptor Block: information about all fields of a file.
  24. struct _fdb
  25. {
  26. FID fidVersion; // fid of version field
  27. FID fidAutoInc; // fid of auto increment field
  28. FID fidFixedLast; // Highest fixed field id in use
  29. FID fidVarLast; // Highest variable field id in use
  30. FID fidTaggedLast; // Highest tagged field id in use
  31. LINE lineDefaultRecord; // default record
  32. struct _field *pfieldFixed; // if FCB of data: pointers to
  33. struct _field *pfieldVar; // beginnings fixed, variable, and
  34. struct _field *pfieldTagged; // tagged field tables
  35. WORD *pibFixedOffsets; // pointer to beginning of table
  36. // of fixed field offsets
  37. struct _field rgfield[]; // FIELD structures hang off the end
  38. // WORD rgibFixedOffsets[]; // followed by the offset table
  39. };
  40. #ifdef ANGEL
  41. #pragma pack()
  42. #endif