patch-2.2.4 linux/arch/ppc/boot/of1275.h

Next file: linux/arch/ppc/boot/piggyback.c
Previous file: linux/arch/ppc/boot/of1275.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.2.3/linux/arch/ppc/boot/of1275.h linux/arch/ppc/boot/of1275.h
@@ -0,0 +1,421 @@
+/* 6.3.2.1 Client interface */
+
+
+typedef struct _of_test_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *name;
+	/*out*/
+	int missing;
+} of_test_service;
+
+int of_test(const char *name, int *missing);
+
+
+/* 6.3.2.2 Device tree */
+
+
+typedef struct _of_peer_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	/*out*/
+	int sibling_phandle;
+} of_peer_service;
+
+int of_peer(int phandle, int *sibling_phandle);
+
+
+typedef struct _of_child_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	/*out*/
+	int child_phandle;
+} of_child_service;
+
+int of_child(int phandle, int *child_phandle);
+
+
+typedef struct _of_parent_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	/*out*/
+	int parent_phandle;
+} of_parent_service;
+
+int of_child(int phandle, int *parent_phandle);
+
+
+typedef struct _of_instance_to_package_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int ihandle;
+	/*out*/
+	int phandle;
+} of_instance_to_package_service;
+
+int of_instance_to_package(int ihandle, int *phandle);
+
+
+typedef struct _of_getproplen_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	const char *name;
+	/*out*/
+	int proplen;
+} of_getproplen_service;
+
+int of_getproplen(int phandle, const char *name, int *proplen);
+
+
+typedef struct _of_getprop_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	const char *name;
+	void *buf;
+	int buflen;
+	/*out*/
+	int size;
+} of_getprop_service;
+
+int of_getprop(int phandle, const char *name, void *buf, int buflen,
+	       int *size);
+
+
+typedef struct _of_nextprop_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	const char *previous;
+	void *buf;
+	/*out*/
+	int flag;
+} of_nextprop_service;
+
+int of_nextprop(int phandle, const char *previous, void *buf, int *flag);
+
+
+typedef struct _of_setprop_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	const char *name;
+	void *buf;
+	int len;
+	/*out*/
+	int size;
+} of_setprop_service;
+
+int of_setprop(int phandle, const char *name, void *buf, int len, int *size);
+
+
+typedef struct _of_canon_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *device_specifier;
+	void *buf;
+	int buflen;
+	/*out*/
+	int length;
+} of_canon_service;
+
+int of_canon(const char *device_specifier, void *buf, int buflen, int *length);
+
+
+typedef struct _of_finddevice_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *device_specifier;
+	/*out*/
+	int phandle;
+} of_finddevice_service;
+
+int of_finddevice(const char *device_specifier, int *phandle);
+
+
+typedef struct _of_instance_to_path_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int ihandle;
+	void *buf;
+	int buflen;
+	/*out*/
+	int length;
+} of_instance_to_path_service;
+
+int of_instance_to_path(int ihandle, void *buf, int buflen, int *length);
+
+
+typedef struct _of_package_to_path_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int phandle;
+	void *buf;
+	int buflen;
+	/*out*/
+	int length;
+} of_package_to_path_service;
+
+int of_package_to_path(int phandle, void *buf, int buflen, int *length);
+
+
+typedef struct _of_call_method_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *method;
+	int ihandle;
+	/*...*/
+	int args[0]; 
+} of_call_method_service;
+
+int of_call_method(const char *method, int ihandle, ...);
+
+
+/* 6.3.2.3 Device I/O */
+
+
+typedef struct _of_open_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *device_specifier;
+	/*out*/
+	int ihandle;
+} of_open_service;
+
+int of_open(const char *device_specifier,
+	    int *ihandle);
+
+
+typedef struct _of_close_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int ihandle;
+	/*out*/
+} of_close_service;
+
+int of_close(int ihandle);
+
+
+typedef struct _of_read_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int ihandle;
+	void *addr;
+	int len;
+	/*out*/
+	int actual;
+} of_read_service;
+
+int of_read(int ihandle, void *addr, int len, int *actual);
+
+
+typedef struct _of_write_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int ihandle;
+	void *addr;
+	int len;
+	/*out*/
+	int actual;
+} of_write_service;
+
+int of_write(int ihandle, void *addr, int len, int *actual);
+
+
+typedef struct _of_seek_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	int ihandle;
+	int pos_hi;
+	int pos_lo;
+	/*out*/
+	int status;
+} of_seek_service;
+
+int of_seek(int ihandle, int pos_hi, int pos_lo, int *status);
+
+
+/* 6.3.2.4 Memory */
+
+
+typedef struct _of_claim_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	void *virt;
+	int size;
+	int align;
+	/*out*/
+	void *baseaddr;
+} of_claim_service;
+
+int of_claim(void *virt, int size, int align, void **baseaddr);
+
+
+typedef struct _of_release_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	void *virt;
+	int size;
+	int align;
+	/*out*/
+} of_release_service;
+
+int of_release(void *virt, int size);
+
+
+/* 6.3.2.5 Control transfer */
+
+
+typedef struct _of_boot_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *bootspec;
+	/*out*/
+} of_boot_service;
+
+int of_boot(const char *bootspec);
+
+
+typedef struct _of_enter_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	/*out*/
+} of_enter_service;
+
+int of_enter(void);
+
+
+typedef struct _of_exit_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	/*out*/
+} of_exit_service;
+
+int of_exit(void);
+
+
+typedef struct _of_chain_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	void *virt;
+	int size;
+	void *entry;
+	void *args;
+	int len;
+	/*out*/
+} of_chain_service;
+
+int of_chain(void *virt, int size, void *entry, void *args, int len);
+
+
+/* 6.3.2.6 User interface */
+
+
+typedef struct _of_interpret_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	const char *cmd;
+	int args[0];
+	/*...*/
+	/*out*/
+	/*...*/
+} of_interpret_service;
+
+int of_interpret(const char *arg, ...);
+
+
+typedef struct _of_set_callback_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	void *newfunc;
+	/*out*/
+	void *oldfunc;
+} of_set_callback_service;
+
+int of_set_callback(void *newfunc, void **oldfunc);
+
+
+typedef struct _of_set_symbol_lookup_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	void *sym_to_value;
+	void *value_to_sym;
+	/*out*/
+} of_set_symbol_lookup_service;
+
+int of_set_symbol_lookup(void *sym_to_value, void *value_to_sym);
+
+
+/* 6.3.2.7 Time */
+
+
+typedef struct _of_milliseconds_service {
+	const char *service;
+	int n_args;
+	int n_returns;
+	/*in*/
+	/*out*/
+	int ms;
+} of_milliseconds_service;
+
+int of_milliseconds(int *ms);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)