|
|
1.1 ! root 1: /* OpenFirmware interface */ ! 2: ! 3: ! 4: /* 6.3.2.1 Client interface */ ! 5: ! 6: ! 7: typedef struct _of1275_test_service { ! 8: const char *service; ! 9: int n_args; ! 10: int n_returns; ! 11: /*in */ ! 12: const char *name; ! 13: /*out */ ! 14: int missing; ! 15: } of1275_test_service; ! 16: ! 17: int of1275_test(const char *name, int *missing); ! 18: ! 19: ! 20: /* 6.3.2.2 Device tree */ ! 21: ! 22: ! 23: typedef struct _of1275_peer_service { ! 24: const char *service; ! 25: int n_args; ! 26: int n_returns; ! 27: /*in */ ! 28: int phandle; ! 29: /*out */ ! 30: int sibling_phandle; ! 31: } of1275_peer_service; ! 32: ! 33: int of1275_peer(int phandle, int *sibling_phandle); ! 34: ! 35: ! 36: typedef struct _of1275_child_service { ! 37: const char *service; ! 38: int n_args; ! 39: int n_returns; ! 40: /*in */ ! 41: int phandle; ! 42: /*out */ ! 43: int child_phandle; ! 44: } of1275_child_service; ! 45: ! 46: int of1275_child(int phandle, int *child_phandle); ! 47: ! 48: ! 49: typedef struct _of1275_parent_service { ! 50: const char *service; ! 51: int n_args; ! 52: int n_returns; ! 53: /*in */ ! 54: int phandle; ! 55: /*out */ ! 56: int parent_phandle; ! 57: } of1275_parent_service; ! 58: ! 59: int of1275_child(int phandle, int *parent_phandle); ! 60: ! 61: ! 62: typedef struct _of1275_instance_to_package_service { ! 63: const char *service; ! 64: int n_args; ! 65: int n_returns; ! 66: /*in */ ! 67: int ihandle; ! 68: /*out */ ! 69: int phandle; ! 70: } of1275_instance_to_package_service; ! 71: ! 72: int of1275_instance_to_package(int ihandle, int *phandle); ! 73: ! 74: ! 75: typedef struct _of1275_getproplen_service { ! 76: const char *service; ! 77: int n_args; ! 78: int n_returns; ! 79: /*in */ ! 80: int phandle; ! 81: const char *name; ! 82: /*out */ ! 83: int proplen; ! 84: } of1275_getproplen_service; ! 85: ! 86: int of1275_getproplen(int phandle, const char *name, int *proplen); ! 87: ! 88: ! 89: typedef struct _of1275_getprop_service { ! 90: const char *service; ! 91: int n_args; ! 92: int n_returns; ! 93: /*in */ ! 94: int phandle; ! 95: const char *name; ! 96: void *buf; ! 97: int buflen; ! 98: /*out */ ! 99: int size; ! 100: } of1275_getprop_service; ! 101: ! 102: int of1275_getprop(int phandle, const char *name, void *buf, int buflen, ! 103: int *size); ! 104: ! 105: ! 106: typedef struct _of1275_nextprop_service { ! 107: const char *service; ! 108: int n_args; ! 109: int n_returns; ! 110: /*in */ ! 111: int phandle; ! 112: const char *previous; ! 113: void *buf; ! 114: /*out */ ! 115: int flag; ! 116: } of1275_nextprop_service; ! 117: ! 118: int of1275_nextprop(int phandle, const char *previous, void *buf, ! 119: int *flag); ! 120: ! 121: ! 122: typedef struct _of1275_setprop_service { ! 123: const char *service; ! 124: int n_args; ! 125: int n_returns; ! 126: /*in */ ! 127: int phandle; ! 128: const char *name; ! 129: void *buf; ! 130: int len; ! 131: /*out */ ! 132: int size; ! 133: } of1275_setprop_service; ! 134: ! 135: int of1275_setprop(int phandle, const char *name, void *buf, int len, ! 136: int *size); ! 137: ! 138: ! 139: typedef struct _of1275_canon_service { ! 140: const char *service; ! 141: int n_args; ! 142: int n_returns; ! 143: /*in */ ! 144: const char *device_specifier; ! 145: void *buf; ! 146: int buflen; ! 147: /*out */ ! 148: int length; ! 149: } of1275_canon_service; ! 150: ! 151: int of1275_canon(const char *device_specifier, void *buf, int buflen, ! 152: int *length); ! 153: ! 154: ! 155: typedef struct _of1275_finddevice_service { ! 156: const char *service; ! 157: int n_args; ! 158: int n_returns; ! 159: /*in */ ! 160: const char *device_specifier; ! 161: /*out */ ! 162: int phandle; ! 163: } of1275_finddevice_service; ! 164: ! 165: int of1275_finddevice(const char *device_specifier, int *phandle); ! 166: ! 167: ! 168: typedef struct _of1275_instance_to_path_service { ! 169: const char *service; ! 170: int n_args; ! 171: int n_returns; ! 172: /*in */ ! 173: int ihandle; ! 174: void *buf; ! 175: int buflen; ! 176: /*out */ ! 177: int length; ! 178: } of1275_instance_to_path_service; ! 179: ! 180: int of1275_instance_to_path(int ihandle, void *buf, int buflen, ! 181: int *length); ! 182: ! 183: ! 184: typedef struct _of1275_package_to_path_service { ! 185: const char *service; ! 186: int n_args; ! 187: int n_returns; ! 188: /*in */ ! 189: int phandle; ! 190: void *buf; ! 191: int buflen; ! 192: /*out */ ! 193: int length; ! 194: } of1275_package_to_path_service; ! 195: ! 196: int of1275_package_to_path(int phandle, void *buf, int buflen, ! 197: int *length); ! 198: ! 199: ! 200: typedef struct _of1275_call_method_service { ! 201: const char *service; ! 202: int n_args; ! 203: int n_returns; ! 204: /*in */ ! 205: const char *method; ! 206: int ihandle; ! 207: /*... */ ! 208: int args[0]; ! 209: } of1275_call_method_service; ! 210: ! 211: int of1275_call_method(const char *method, int ihandle, ...); ! 212: ! 213: ! 214: /* 6.3.2.3 Device I/O */ ! 215: ! 216: ! 217: typedef struct _of1275_open_service { ! 218: const char *service; ! 219: int n_args; ! 220: int n_returns; ! 221: /*in */ ! 222: const char *device_specifier; ! 223: /*out */ ! 224: int ihandle; ! 225: } of1275_open_service; ! 226: ! 227: int of1275_open(const char *device_specifier, int *ihandle); ! 228: ! 229: ! 230: typedef struct _of1275_close_service { ! 231: const char *service; ! 232: int n_args; ! 233: int n_returns; ! 234: /*in */ ! 235: int ihandle; ! 236: /*out */ ! 237: } of1275_close_service; ! 238: ! 239: int of1275_close(int ihandle); ! 240: ! 241: ! 242: typedef struct _of1275_read_service { ! 243: const char *service; ! 244: int n_args; ! 245: int n_returns; ! 246: /*in */ ! 247: int ihandle; ! 248: void *addr; ! 249: int len; ! 250: /*out */ ! 251: int actual; ! 252: } of1275_read_service; ! 253: ! 254: int of1275_read(int ihandle, void *addr, int len, int *actual); ! 255: ! 256: ! 257: typedef struct _of1275_write_service { ! 258: const char *service; ! 259: int n_args; ! 260: int n_returns; ! 261: /*in */ ! 262: int ihandle; ! 263: void *addr; ! 264: int len; ! 265: /*out */ ! 266: int actual; ! 267: } of1275_write_service; ! 268: ! 269: int of1275_write(int ihandle, void *addr, int len, int *actual); ! 270: ! 271: ! 272: typedef struct _of1275_seek_service { ! 273: const char *service; ! 274: int n_args; ! 275: int n_returns; ! 276: /*in */ ! 277: int ihandle; ! 278: int pos_hi; ! 279: int pos_lo; ! 280: /*out */ ! 281: int status; ! 282: } of1275_seek_service; ! 283: ! 284: int of1275_seek(int ihandle, int pos_hi, int pos_lo, int *status); ! 285: ! 286: ! 287: /* 6.3.2.4 Memory */ ! 288: ! 289: ! 290: typedef struct _of1275_claim_service { ! 291: const char *service; ! 292: int n_args; ! 293: int n_returns; ! 294: /*in */ ! 295: void *virt; ! 296: int size; ! 297: int align; ! 298: /*out */ ! 299: void *baseaddr; ! 300: } of1275_claim_service; ! 301: ! 302: int of1275_claim(void *virt, int size, int align, void **baseaddr); ! 303: ! 304: ! 305: typedef struct _of1275_release_service { ! 306: const char *service; ! 307: int n_args; ! 308: int n_returns; ! 309: /*in */ ! 310: void *virt; ! 311: int size; ! 312: int align; ! 313: /*out */ ! 314: } of1275_release_service; ! 315: ! 316: int of1275_release(void *virt, int size); ! 317: ! 318: ! 319: /* 6.3.2.5 Control transfer */ ! 320: ! 321: ! 322: typedef struct _of1275_boot_service { ! 323: const char *service; ! 324: int n_args; ! 325: int n_returns; ! 326: /*in */ ! 327: const char *bootspec; ! 328: /*out */ ! 329: } of1275_boot_service; ! 330: ! 331: int of1275_boot(const char *bootspec); ! 332: ! 333: ! 334: typedef struct _of1275_enter_service { ! 335: const char *service; ! 336: int n_args; ! 337: int n_returns; ! 338: /*in */ ! 339: /*out */ ! 340: } of1275_enter_service; ! 341: ! 342: int of1275_enter(void); ! 343: ! 344: typedef struct _of1275_exit_service { ! 345: const char *service; ! 346: int n_args; ! 347: int n_returns; ! 348: /*in */ ! 349: int status; ! 350: /*out */ ! 351: } of1275_exit_service; ! 352: ! 353: int of1275_exit(int status); ! 354: ! 355: ! 356: typedef struct _of1275_chain_service { ! 357: const char *service; ! 358: int n_args; ! 359: int n_returns; ! 360: /*in */ ! 361: void *virt; ! 362: int size; ! 363: void *entry; ! 364: void *args; ! 365: int len; ! 366: /*out */ ! 367: } of1275_chain_service; ! 368: ! 369: int of1275_chain(void *virt, int size, void *entry, void *args, int len); ! 370: ! 371: ! 372: /* 6.3.2.6 User interface */ ! 373: ! 374: ! 375: typedef struct _of1275_interpret_service { ! 376: const char *service; ! 377: int n_args; ! 378: int n_returns; ! 379: /*in */ ! 380: const char *cmd; ! 381: int args[0]; ! 382: /*... */ ! 383: /*out */ ! 384: /*... */ ! 385: } of1275_interpret_service; ! 386: ! 387: int of1275_interpret(const char *arg, ...); ! 388: ! 389: ! 390: typedef struct _of1275_set_callback_service { ! 391: const char *service; ! 392: int n_args; ! 393: int n_returns; ! 394: /*in */ ! 395: void *newfunc; ! 396: /*out */ ! 397: void *oldfunc; ! 398: } of1275_set_callback_service; ! 399: ! 400: int of1275_set_callback(void *newfunc, void **oldfunc); ! 401: ! 402: ! 403: typedef struct _of1275_set_symbol_lookup_service { ! 404: const char *service; ! 405: int n_args; ! 406: int n_returns; ! 407: /*in */ ! 408: void *sym_to_value; ! 409: void *value_to_sym; ! 410: /*out */ ! 411: } of1275_set_symbol_lookup_service; ! 412: ! 413: int of1275_set_symbol_lookup(void *sym_to_value, void *value_to_sym); ! 414: ! 415: ! 416: /* 6.3.2.7 Time */ ! 417: ! 418: ! 419: typedef struct _of1275_milliseconds_service { ! 420: const char *service; ! 421: int n_args; ! 422: int n_returns; ! 423: /*in */ ! 424: /*out */ ! 425: int ms; ! 426: } of1275_milliseconds_service; ! 427: ! 428: int of1275_milliseconds(int *ms); ! 429: ! 430: ! 431: /* Common and useful utilities */ ! 432: ! 433: ! 434: int of_find_integer_property(const char *path, const char *property); ! 435: ! 436: void of_find_string_property(const char *path, const char *property, ! 437: char *string, int sizeof_string);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.