Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * Architecture-specific portion of pxe.h for Etherboot
  3. *
  4. * This file has to define the types SEGOFF16_t, SEGDESC_t and
  5. * SEGSEL_t for use in other PXE structures. See pxe.h for details.
  6. */
  7. #ifndef PXE_TYPES_H
  8. #define PXE_TYPES_H
  9. /* SEGOFF16_t defined in separate header
  10. */
  11. #include "realmode.h"
  12. typedef segoff_t I386_SEGOFF16_t;
  13. #define SEGOFF16_t I386_SEGOFF16_t
  14. #define IS_NULL_SEGOFF16(x) ( ( (x).segment == 0 ) && ( (x).offset == 0 ) )
  15. #define SEGOFF16_TO_PTR(x) ( VIRTUAL( (x).segment, (x).offset ) )
  16. #define PTR_TO_SEGOFF16(ptr,segoff16) \
  17. (segoff16).segment = SEGMENT(ptr); \
  18. (segoff16).offset = OFFSET(ptr);
  19. typedef struct {
  20. uint16_t Seg_Addr;
  21. uint32_t Phy_Addr;
  22. uint16_t Seg_Size;
  23. } PACKED I386_SEGDESC_t; /* PACKED is required, otherwise gcc pads
  24. * this out to 12 bytes -
  25. * mbrown@fensystems.co.uk (mcb30) 17/5/03 */
  26. #define SEGDESC_t I386_SEGDESC_t
  27. typedef uint16_t I386_SEGSEL_t;
  28. #define SEGSEL_t I386_SEGSEL_t
  29. #endif /* PXE_TYPES_H */