1 /* $OpenBSD: libsa.h,v 1.16 2020/12/09 18:10:18 krw Exp $ */ 2 3 /* 4 * Copyright (c) 1998-2004 Michael Shalayeff 5 * All rights reserved. 6 * 7 * Redistribution and use in source and binary forms, with or without 8 * modification, are permitted provided that the following conditions 9 * are met: 10 * 1. Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 * 2. Redistributions in binary form must reproduce the above copyright 13 * notice, this list of conditions and the following disclaimer in the 14 * documentation and/or other materials provided with the distribution. 15 * 16 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19 * IN NO EVENT SHALL THE AUTHOR OR HIS RELATIVES BE LIABLE FOR ANY DIRECT, 20 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 21 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 * SERVICES; LOSS OF MIND, USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 23 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 24 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING 25 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF 26 * THE POSSIBILITY OF SUCH DAMAGE. 27 */ 28 29 #include <lib/libsa/stand.h> 30 31 #define EXEC_ELF 32 #define EXEC_SOM 33 34 #define DEFAULT_KERNEL_ADDRESS 0 35 36 extern dev_t bootdev; 37 38 void pdc_init(void); 39 struct pz_device; 40 struct pz_device *pdc_findev(int, int); 41 42 int iodcstrategy(void *, int, daddr_t, size_t, void *, size_t *); 43 44 int ctopen(struct open_file *, ...); 45 int ctclose(struct open_file *); 46 47 int dkopen(struct open_file *, ...); 48 int dkclose(struct open_file *); 49 50 int lfopen(struct open_file *, ...); 51 int lfstrategy(void *, int, daddr_t, size_t, void *, size_t *); 52 int lfclose(struct open_file *); 53 54 void ite_probe(struct consdev *); 55 void ite_init(struct consdev *); 56 int ite_getc(dev_t); 57 void ite_putc(dev_t, int); 58 void ite_pollc(dev_t, int); 59 60 void machdep(void); 61 void devboot(dev_t, char *); 62 void fcacheall(void); 63 void run_loadfile(uint64_t *marks, int howto); 64 65 int lif_open(char *path, struct open_file *f); 66 int lif_close(struct open_file *f); 67 int lif_read(struct open_file *f, void *buf, size_t size, size_t *resid); 68 int lif_write(struct open_file *f, void *buf, size_t size, size_t *resid); 69 off_t lif_seek(struct open_file *f, off_t offset, int where); 70 int lif_stat(struct open_file *f, struct stat *sb); 71 int lif_readdir(struct open_file *f, char *name); 72 73 union x_header; 74 struct x_param; 75 int som_probe(int, union x_header *); 76 int som_load(int, struct x_param *); 77 int som_ldsym(int, struct x_param *); 78 79 extern int debug; 80 81 #define MACHINE_CMD cmd_machine /* we have hppa specific commands */ 82