ldt.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * ldt.h
  3.  *
  4.  * Definitions of structures used with the modify_ldt system call.
  5.  */
  6. #ifndef _LINUX_LDT_H
  7. #define _LINUX_LDT_H
  8. /* Maximum number of LDT entries supported. */
  9. #define LDT_ENTRIES 8192
  10. /* The size of each LDT entry. */
  11. #define LDT_ENTRY_SIZE 8
  12. #ifndef __ASSEMBLY__
  13. /* Note on 64bit base and limit is ignored and you cannot set
  14.    DS/ES/CS not to the default values if you still want to do syscalls. This
  15.    call is more for 32bit mode therefore. */
  16. struct modify_ldt_ldt_s {
  17. unsigned int  entry_number;
  18. unsigned int  base_addr;
  19. unsigned int  limit;
  20. unsigned int  seg_32bit:1;
  21. unsigned int  contents:2;
  22. unsigned int  read_exec_only:1;
  23. unsigned int  limit_in_pages:1;
  24. unsigned int  seg_not_present:1;
  25. unsigned int  useable:1;
  26. unsigned int  lm:1;
  27. };
  28. #define MODIFY_LDT_CONTENTS_DATA 0
  29. #define MODIFY_LDT_CONTENTS_STACK 1
  30. #define MODIFY_LDT_CONTENTS_CODE 2
  31. #endif /* !__ASSEMBLY__ */
  32. #endif