summaryrefslogtreecommitdiffstats
path: root/release/picobsd/tinyware/kget/uc_main.h
diff options
context:
space:
mode:
Diffstat (limited to 'release/picobsd/tinyware/kget/uc_main.h')
-rw-r--r--release/picobsd/tinyware/kget/uc_main.h167
1 files changed, 167 insertions, 0 deletions
diff --git a/release/picobsd/tinyware/kget/uc_main.h b/release/picobsd/tinyware/kget/uc_main.h
new file mode 100644
index 0000000..4f7662e
--- /dev/null
+++ b/release/picobsd/tinyware/kget/uc_main.h
@@ -0,0 +1,167 @@
+/***************************************************
+ * file: userconfig/uc_main.h
+ *
+ * Copyright (c) 1996 Eric L. Hernes (erich@rrnet.com)
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. The name of the author may not be used to endorse or promote products
+ * derived from this software withough specific prior written permission
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $Id: uc_main.h,v 1.1.1.1 1998/07/14 07:30:54 abial Exp $
+ */
+
+#define ISA_BIOTAB 0
+#define ISA_TTYTAB 1
+#define ISA_NETTAB 2
+#define ISA_NULLTAB 3
+#define ISA_WDCTAB 4
+#define ISA_FDCTAB 5
+#define EISA_SET 6
+#define EISA_LIST 7
+#define PCI_SET 8
+#define SCSI_LIST 9
+#define SCSI_BUSSES 10
+#define SCSI_CINIT 11
+#define SCSI_DINIT 12
+#define SCSI_TINIT 13
+/* symbols + the null terminator */
+#define NSYMBOLS 15
+
+struct kernel {
+ int fd; /* file descriptor for the kernel image, either a binary or /dev/kmem */
+ caddr_t core; /* either the mmap()ed kernel image, or a scratch area */
+ u_int size; /* size of the object at ->core */
+ int incore; /* true if the kernel is running */
+#ifdef UC_PRIVATE
+ struct nlist *nl; /* the symbol table */
+#else
+ void *nl;
+#endif
+ struct uc_isa *isa_devp; /* pointer to the isa devices (if any) */
+ struct uc_eisa *eisa_devp; /* pointer to the eisa devices (if any) */
+ struct uc_pci *pci_devp; /* pointer to the pci devices (if any) */
+ struct uc_scsi *scsi_devp; /* pointer to the scsi devices (if any) */
+ struct uc_scsibus *scsibus_devp; /* internal pointer to scsibus wirings */
+};
+
+struct uc_isa {
+ char *device;
+ u_short port;
+ u_short irq;
+ short drq;
+ u_int iomem;
+ int iosize;
+ int flags;
+ int alive;
+ int enabled;
+#ifdef UC_PRIVATE
+ struct isa_device *idp;
+#else
+ void *idp;
+#endif
+ int modified;
+};
+
+struct uc_pci {
+ char *device;
+};
+
+struct uc_eisa {
+ char *device;
+ char *full_name;
+};
+
+struct uc_scsibus {
+ int bus_no;
+ int unit;
+ char *driver;
+#ifdef UC_PRIVATE
+ struct scsi_ctlr_config *config;
+#else
+ void *config;
+#endif
+};
+
+struct uc_scsi {
+ char *device;
+ char *adapter;
+ u_short target;
+ u_short lun;
+ char *desc;
+#ifdef UC_PRIVATE
+ struct scsi_device_config *config;
+#else
+ void *config;
+#endif
+ int modified;
+};
+
+/* nearly everything useful returns a list */
+
+struct list {
+ int ac;
+ char **av;
+};
+
+/* prototypes */
+
+/* uc_main.c */
+/* these are really the only public ones */
+struct kernel *uc_open(char *name);
+int uc_close(struct kernel *kern, int writeback);
+struct list *uc_getdev(struct kernel *kern, char *dev);
+
+/* uc_isa.c */
+void get_isa_info(struct kernel *kp);
+struct list *get_isa_devlist(struct kernel *kp);
+struct list *get_isa_device(struct uc_isa *ip);
+int isa_setdev(struct kernel *kp, struct list *list);
+void isa_free(struct kernel *kp, int writeback);
+
+/* uc_eisa.c */
+void get_eisa_info(struct kernel *kp);
+struct list *get_eisa_devlist(struct kernel *kp);
+struct list *get_eisa_device(struct uc_eisa *ep);
+void eisa_free(struct kernel *kp, int writeback);
+
+/* uc_pci.c */
+void get_pci_info(struct kernel *kp);
+struct list *get_pci_devlist(struct kernel *kp);
+struct list *get_pci_device(struct uc_pci *pp);
+void pci_free(struct kernel *kp, int writeback);
+
+/* uc_scsi.c */
+void get_scsi_info(struct kernel *kp);
+struct list *get_scsi_devlist(struct kernel *kp);
+struct list *get_scsi_device(struct uc_scsi *sp);
+int scsi_setdev(struct kernel *kp, struct list *list);
+void scsi_free(struct kernel *kp, int writeback);
+
+/* uc_kmem.c */
+u_int kv_to_u(struct kernel *kp, u_int adr, u_int size);
+u_int kv_dref_p(struct kernel *kp, u_int adr);
+u_int kv_dref_t(struct kernel *kp, u_int adr);
+
+/* uc_list.c */
+struct list *list_new(void);
+void list_append(struct list *list, char *item);
+void list_print(struct list *list, char *separator);
+void list_destroy(struct list *list);
+
+/* end of userconfig/uc_main.h */
OpenPOWER on IntegriCloud