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

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  * BK Id: SCCS/s.of1275.h 1.6 05/18/01 15:16:42 cort
  3.  */
  4. /* 6.3.2.1 Client interface */
  5. typedef struct _of_test_service {
  6. const char *service;
  7. int n_args;
  8. int n_returns;
  9. /*in*/
  10. const char *name;
  11. /*out*/
  12. int missing;
  13. } of_test_service;
  14. int of_test(const char *name, int *missing);
  15. /* 6.3.2.2 Device tree */
  16. typedef struct _of_peer_service {
  17. const char *service;
  18. int n_args;
  19. int n_returns;
  20. /*in*/
  21. int phandle;
  22. /*out*/
  23. int sibling_phandle;
  24. } of_peer_service;
  25. int of_peer(int phandle, int *sibling_phandle);
  26. typedef struct _of_child_service {
  27. const char *service;
  28. int n_args;
  29. int n_returns;
  30. /*in*/
  31. int phandle;
  32. /*out*/
  33. int child_phandle;
  34. } of_child_service;
  35. int of_child(int phandle, int *child_phandle);
  36. typedef struct _of_parent_service {
  37. const char *service;
  38. int n_args;
  39. int n_returns;
  40. /*in*/
  41. int phandle;
  42. /*out*/
  43. int parent_phandle;
  44. } of_parent_service;
  45. int of_child(int phandle, int *parent_phandle);
  46. typedef struct _of_instance_to_package_service {
  47. const char *service;
  48. int n_args;
  49. int n_returns;
  50. /*in*/
  51. int ihandle;
  52. /*out*/
  53. int phandle;
  54. } of_instance_to_package_service;
  55. int of_instance_to_package(int ihandle, int *phandle);
  56. typedef struct _of_getproplen_service {
  57. const char *service;
  58. int n_args;
  59. int n_returns;
  60. /*in*/
  61. int phandle;
  62. const char *name;
  63. /*out*/
  64. int proplen;
  65. } of_getproplen_service;
  66. int of_getproplen(int phandle, const char *name, int *proplen);
  67. typedef struct _of_getprop_service {
  68. const char *service;
  69. int n_args;
  70. int n_returns;
  71. /*in*/
  72. int phandle;
  73. const char *name;
  74. void *buf;
  75. int buflen;
  76. /*out*/
  77. int size;
  78. } of_getprop_service;
  79. int of_getprop(int phandle, const char *name, void *buf, int buflen,
  80.        int *size);
  81. typedef struct _of_nextprop_service {
  82. const char *service;
  83. int n_args;
  84. int n_returns;
  85. /*in*/
  86. int phandle;
  87. const char *previous;
  88. void *buf;
  89. /*out*/
  90. int flag;
  91. } of_nextprop_service;
  92. int of_nextprop(int phandle, const char *previous, void *buf, int *flag);
  93. typedef struct _of_setprop_service {
  94. const char *service;
  95. int n_args;
  96. int n_returns;
  97. /*in*/
  98. int phandle;
  99. const char *name;
  100. void *buf;
  101. int len;
  102. /*out*/
  103. int size;
  104. } of_setprop_service;
  105. int of_setprop(int phandle, const char *name, void *buf, int len, int *size);
  106. typedef struct _of_canon_service {
  107. const char *service;
  108. int n_args;
  109. int n_returns;
  110. /*in*/
  111. const char *device_specifier;
  112. void *buf;
  113. int buflen;
  114. /*out*/
  115. int length;
  116. } of_canon_service;
  117. int of_canon(const char *device_specifier, void *buf, int buflen, int *length);
  118. typedef struct _of_finddevice_service {
  119. const char *service;
  120. int n_args;
  121. int n_returns;
  122. /*in*/
  123. const char *device_specifier;
  124. /*out*/
  125. int phandle;
  126. } of_finddevice_service;
  127. int of_finddevice(const char *device_specifier, int *phandle);
  128. typedef struct _of_instance_to_path_service {
  129. const char *service;
  130. int n_args;
  131. int n_returns;
  132. /*in*/
  133. int ihandle;
  134. void *buf;
  135. int buflen;
  136. /*out*/
  137. int length;
  138. } of_instance_to_path_service;
  139. int of_instance_to_path(int ihandle, void *buf, int buflen, int *length);
  140. typedef struct _of_package_to_path_service {
  141. const char *service;
  142. int n_args;
  143. int n_returns;
  144. /*in*/
  145. int phandle;
  146. void *buf;
  147. int buflen;
  148. /*out*/
  149. int length;
  150. } of_package_to_path_service;
  151. int of_package_to_path(int phandle, void *buf, int buflen, int *length);
  152. typedef struct _of_call_method_service {
  153. const char *service;
  154. int n_args;
  155. int n_returns;
  156. /*in*/
  157. const char *method;
  158. int ihandle;
  159. /*...*/
  160. int args[0]; 
  161. } of_call_method_service;
  162. int of_call_method(const char *method, int ihandle, ...);
  163. /* 6.3.2.3 Device I/O */
  164. typedef struct _of_open_service {
  165. const char *service;
  166. int n_args;
  167. int n_returns;
  168. /*in*/
  169. const char *device_specifier;
  170. /*out*/
  171. int ihandle;
  172. } of_open_service;
  173. int of_open(const char *device_specifier,
  174.     int *ihandle);
  175. typedef struct _of_close_service {
  176. const char *service;
  177. int n_args;
  178. int n_returns;
  179. /*in*/
  180. int ihandle;
  181. /*out*/
  182. } of_close_service;
  183. int of_close(int ihandle);
  184. typedef struct _of_read_service {
  185. const char *service;
  186. int n_args;
  187. int n_returns;
  188. /*in*/
  189. int ihandle;
  190. void *addr;
  191. int len;
  192. /*out*/
  193. int actual;
  194. } of_read_service;
  195. int of_read(int ihandle, void *addr, int len, int *actual);
  196. typedef struct _of_write_service {
  197. const char *service;
  198. int n_args;
  199. int n_returns;
  200. /*in*/
  201. int ihandle;
  202. void *addr;
  203. int len;
  204. /*out*/
  205. int actual;
  206. } of_write_service;
  207. int of_write(int ihandle, void *addr, int len, int *actual);
  208. typedef struct _of_seek_service {
  209. const char *service;
  210. int n_args;
  211. int n_returns;
  212. /*in*/
  213. int ihandle;
  214. int pos_hi;
  215. int pos_lo;
  216. /*out*/
  217. int status;
  218. } of_seek_service;
  219. int of_seek(int ihandle, int pos_hi, int pos_lo, int *status);
  220. /* 6.3.2.4 Memory */
  221. typedef struct _of_claim_service {
  222. const char *service;
  223. int n_args;
  224. int n_returns;
  225. /*in*/
  226. void *virt;
  227. int size;
  228. int align;
  229. /*out*/
  230. void *baseaddr;
  231. } of_claim_service;
  232. int of_claim(void *virt, int size, int align, void **baseaddr);
  233. typedef struct _of_release_service {
  234. const char *service;
  235. int n_args;
  236. int n_returns;
  237. /*in*/
  238. void *virt;
  239. int size;
  240. int align;
  241. /*out*/
  242. } of_release_service;
  243. int of_release(void *virt, int size);
  244. /* 6.3.2.5 Control transfer */
  245. typedef struct _of_boot_service {
  246. const char *service;
  247. int n_args;
  248. int n_returns;
  249. /*in*/
  250. const char *bootspec;
  251. /*out*/
  252. } of_boot_service;
  253. int of_boot(const char *bootspec);
  254. typedef struct _of_enter_service {
  255. const char *service;
  256. int n_args;
  257. int n_returns;
  258. /*in*/
  259. /*out*/
  260. } of_enter_service;
  261. int of_enter(void);
  262. typedef struct _of_exit_service {
  263. const char *service;
  264. int n_args;
  265. int n_returns;
  266. /*in*/
  267. /*out*/
  268. } of_exit_service;
  269. int of_exit(void);
  270. typedef struct _of_chain_service {
  271. const char *service;
  272. int n_args;
  273. int n_returns;
  274. /*in*/
  275. void *virt;
  276. int size;
  277. void *entry;
  278. void *args;
  279. int len;
  280. /*out*/
  281. } of_chain_service;
  282. int of_chain(void *virt, int size, void *entry, void *args, int len);
  283. /* 6.3.2.6 User interface */
  284. typedef struct _of_interpret_service {
  285. const char *service;
  286. int n_args;
  287. int n_returns;
  288. /*in*/
  289. const char *cmd;
  290. int args[0];
  291. /*...*/
  292. /*out*/
  293. /*...*/
  294. } of_interpret_service;
  295. int of_interpret(const char *arg, ...);
  296. typedef struct _of_set_callback_service {
  297. const char *service;
  298. int n_args;
  299. int n_returns;
  300. /*in*/
  301. void *newfunc;
  302. /*out*/
  303. void *oldfunc;
  304. } of_set_callback_service;
  305. int of_set_callback(void *newfunc, void **oldfunc);
  306. typedef struct _of_set_symbol_lookup_service {
  307. const char *service;
  308. int n_args;
  309. int n_returns;
  310. /*in*/
  311. void *sym_to_value;
  312. void *value_to_sym;
  313. /*out*/
  314. } of_set_symbol_lookup_service;
  315. int of_set_symbol_lookup(void *sym_to_value, void *value_to_sym);
  316. /* 6.3.2.7 Time */
  317. typedef struct _of_milliseconds_service {
  318. const char *service;
  319. int n_args;
  320. int n_returns;
  321. /*in*/
  322. /*out*/
  323. int ms;
  324. } of_milliseconds_service;
  325. int of_milliseconds(int *ms);