nv_control.h 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185
  1. #ifndef __NVCONTROL_H
  2. #define __NVCONTROL_H
  3. #define NV_CONTROL_ERRORS 0
  4. #define NV_CONTROL_EVENTS 1
  5. #define NV_CONTROL_NAME "NV-CONTROL"
  6. #define NV_CONTROL_MAJOR 1
  7. #define NV_CONTROL_MINOR 6
  8. #define X_nvCtrlQueryExtension 0
  9. #define X_nvCtrlIsNv 1
  10. #define X_nvCtrlQueryAttribute 2
  11. #define X_nvCtrlSetAttribute 3
  12. #define X_nvCtrlQueryStringAttribute 4
  13. #define X_nvCtrlQueryValidAttributeValues 5
  14. #define X_nvCtrlSelectNotify 6
  15. #define X_nvCtrlLastRequest (X_nvCtrlSelectNotify + 1)
  16. typedef struct {
  17. CARD8 reqType;
  18. CARD8 nvReqType;
  19. CARD16 length B16;
  20. } xnvCtrlQueryExtensionReq;
  21. #define sz_xnvCtrlQueryExtensionReq 4
  22. typedef struct {
  23. BYTE type; /* X_Reply */
  24. CARD8 padb1;
  25. CARD16 sequenceNumber B16;
  26. CARD32 length B32;
  27. CARD16 major B16;
  28. CARD16 minor B16;
  29. CARD32 padl4 B32;
  30. CARD32 padl5 B32;
  31. CARD32 padl6 B32;
  32. CARD32 padl7 B32;
  33. CARD32 padl8 B32;
  34. } xnvCtrlQueryExtensionReply;
  35. #define sz_xnvCtrlQueryExtensionReply 32
  36. typedef struct {
  37. CARD8 reqType;
  38. CARD8 nvReqType;
  39. CARD16 length B16;
  40. CARD32 screen B32;
  41. } xnvCtrlIsNvReq;
  42. #define sz_xnvCtrlIsNvReq 8
  43. typedef struct {
  44. BYTE type; /* X_Reply */
  45. CARD8 padb1;
  46. CARD16 sequenceNumber B16;
  47. CARD32 length B32;
  48. CARD32 isnv B32;
  49. CARD32 padl4 B32;
  50. CARD32 padl5 B32;
  51. CARD32 padl6 B32;
  52. CARD32 padl7 B32;
  53. CARD32 padl8 B32;
  54. } xnvCtrlIsNvReply;
  55. #define sz_xnvCtrlIsNvReply 32
  56. typedef struct {
  57. CARD8 reqType;
  58. CARD8 nvReqType;
  59. CARD16 length B16;
  60. CARD32 screen B32;
  61. CARD32 display_mask B32;
  62. CARD32 attribute B32;
  63. } xnvCtrlQueryAttributeReq;
  64. #define sz_xnvCtrlQueryAttributeReq 16
  65. typedef struct {
  66. BYTE type;
  67. BYTE pad0;
  68. CARD16 sequenceNumber B16;
  69. CARD32 length B32;
  70. CARD32 flags B32;
  71. INT32 value B32;
  72. CARD32 pad4 B32;
  73. CARD32 pad5 B32;
  74. CARD32 pad6 B32;
  75. CARD32 pad7 B32;
  76. } xnvCtrlQueryAttributeReply;
  77. #define sz_xnvCtrlQueryAttributeReply 32
  78. typedef struct {
  79. CARD8 reqType;
  80. CARD8 nvReqType;
  81. CARD16 length B16;
  82. CARD32 screen B32;
  83. CARD32 display_mask B32;
  84. CARD32 attribute B32;
  85. INT32 value B32;
  86. } xnvCtrlSetAttributeReq;
  87. #define sz_xnvCtrlSetAttributeReq 20
  88. typedef struct {
  89. CARD8 reqType;
  90. CARD8 nvReqType;
  91. CARD16 length B16;
  92. CARD32 screen B32;
  93. CARD32 display_mask B32;
  94. CARD32 attribute B32;
  95. } xnvCtrlQueryStringAttributeReq;
  96. #define sz_xnvCtrlQueryStringAttributeReq 16
  97. /*
  98. * CtrlQueryStringAttribute reply struct
  99. * n indicates the length of the string.
  100. */
  101. typedef struct {
  102. BYTE type;
  103. BYTE pad0;
  104. CARD16 sequenceNumber B16;
  105. CARD32 length B32;
  106. CARD32 flags B32;
  107. CARD32 n B32;
  108. CARD32 pad4 B32;
  109. CARD32 pad5 B32;
  110. CARD32 pad6 B32;
  111. CARD32 pad7 B32;
  112. } xnvCtrlQueryStringAttributeReply;
  113. #define sz_xnvCtrlQueryStringAttributeReply 32
  114. typedef struct {
  115. CARD8 reqType;
  116. CARD8 nvReqType;
  117. CARD16 length B16;
  118. CARD32 screen B32;
  119. CARD32 display_mask B32;
  120. CARD32 attribute B32;
  121. } xnvCtrlQueryValidAttributeValuesReq;
  122. #define sz_xnvCtrlQueryValidAttributeValuesReq 16
  123. typedef struct {
  124. BYTE type;
  125. BYTE pad0;
  126. CARD16 sequenceNumber B16;
  127. CARD32 length B32;
  128. CARD32 flags B32;
  129. INT32 attr_type B32;
  130. INT32 min B32;
  131. INT32 max B32;
  132. CARD32 bits B32;
  133. CARD32 perms B32;
  134. } xnvCtrlQueryValidAttributeValuesReply;
  135. #define sz_xnvCtrlQueryValidAttributeValuesReply 32
  136. typedef struct {
  137. CARD8 reqType;
  138. CARD8 nvReqType;
  139. CARD16 length B16;
  140. CARD32 screen B32;
  141. CARD16 notifyType B16;
  142. CARD16 onoff B16;
  143. } xnvCtrlSelectNotifyReq;
  144. #define sz_xnvCtrlSelectNotifyReq 12
  145. typedef struct {
  146. union {
  147. struct {
  148. BYTE type;
  149. BYTE detail;
  150. CARD16 sequenceNumber B16;
  151. } u;
  152. struct {
  153. BYTE type;
  154. BYTE detail;
  155. CARD16 sequenceNumber B16;
  156. Time time B32;
  157. CARD32 screen B32;
  158. CARD32 display_mask B32;
  159. CARD32 attribute B32;
  160. CARD32 value B32;
  161. CARD32 pad0 B32;
  162. CARD32 pad1 B32;
  163. } attribute_changed;
  164. } u;
  165. } xnvctrlEvent;
  166. #endif /* __NVCONTROL_H */