[BACK]Return to conf.c CVS log [TXT][DIR] Up to [local] / sys / arch / amd64 / stand / pxeboot

Annotation of sys/arch/amd64/stand/pxeboot/conf.c, Revision 1.1

1.1     ! nbrk        1: /*     $OpenBSD: conf.c,v 1.16 2007/07/27 17:48:01 tom Exp $   */
        !             2:
        !             3: /*
        !             4:  * Copyright (c) 2004 Tom Cosgrove
        !             5:  * Copyright (c) 1996 Michael Shalayeff
        !             6:  * All rights reserved.
        !             7:  *
        !             8:  * Redistribution and use in source and binary forms, with or without
        !             9:  * modification, are permitted provided that the following conditions
        !            10:  * are met:
        !            11:  * 1. Redistributions of source code must retain the above copyright
        !            12:  *    notice, this list of conditions and the following disclaimer.
        !            13:  * 2. Redistributions in binary form must reproduce the above copyright
        !            14:  *    notice, this list of conditions and the following disclaimer in the
        !            15:  *    documentation and/or other materials provided with the distribution.
        !            16:  *
        !            17:  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
        !            18:  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
        !            19:  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
        !            20:  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
        !            21:  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
        !            22:  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
        !            23:  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
        !            24:  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
        !            25:  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
        !            26:  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
        !            27:  * SUCH DAMAGE.
        !            28:  */
        !            29:
        !            30: #include <sys/types.h>
        !            31: #include <netinet/in.h>
        !            32: #include <libsa.h>
        !            33: #include <lib/libsa/ufs.h>
        !            34: #ifdef notdef
        !            35: #include <lib/libsa/cd9660.h>
        !            36: #include <lib/libsa/fat.h>
        !            37: #endif
        !            38: #include <lib/libsa/nfs.h>
        !            39: #include <lib/libsa/tftp.h>
        !            40: #include <lib/libsa/netif.h>
        !            41: #include <lib/libsa/unixdev.h>
        !            42: #include <biosdev.h>
        !            43: #include <dev/cons.h>
        !            44: #include "pxeboot.h"
        !            45: #include "pxe_net.h"
        !            46:
        !            47: const char version[] = "2.01";
        !            48: int    debug = 0;
        !            49:
        !            50: #undef _TEST
        !            51:
        !            52:
        !            53: void (*sa_cleanup)(void) = pxe_shutdown;
        !            54:
        !            55:
        !            56: void (*i386_probe1[])(void) = {
        !            57:        gateA20on, cninit, pxeprobe, memprobe
        !            58: };
        !            59: void (*i386_probe2[])(void) = {
        !            60:        diskprobe
        !            61: };
        !            62: void (*i386_probe3[])(void) = {
        !            63:        pxeinfo
        !            64: /*     netprobe_pxe, netprobe_mac, netprobe_inet4, netprobe_bootdev */
        !            65: };
        !            66:
        !            67: struct i386_boot_probes probe_list[] = {
        !            68:        { "probing", i386_probe1, NENTS(i386_probe1) },
        !            69:        { "disk",    i386_probe2, NENTS(i386_probe2) },
        !            70:        { "net",     i386_probe3, NENTS(i386_probe3) },
        !            71: };
        !            72: int nibprobes = NENTS(probe_list);
        !            73:
        !            74: /* This next list must match file_system[]. */
        !            75: char *fs_name[] = {
        !            76:        NULL, "tftp", "nfs"
        !            77: };
        !            78: int nfsname = NENTS(fs_name);
        !            79:
        !            80: struct fs_ops file_system[] = {
        !            81:        { ufs_open,    ufs_close,    ufs_read,    ufs_write,    ufs_seek,
        !            82:          ufs_stat,    ufs_readdir    },
        !            83:        { tftp_open,   tftp_close,   tftp_read,   tftp_write,   tftp_seek,
        !            84:          tftp_stat,   tftp_readdir   },
        !            85:        { nfs_open,    nfs_close,    nfs_read,    nfs_write,    nfs_seek,
        !            86:          nfs_stat,    nfs_readdir    },
        !            87: #ifdef notdef
        !            88:        { fat_open,    fat_close,    fat_read,    fat_write,    fat_seek,
        !            89:          fat_stat,    fat_readdir    },
        !            90:        { cd9660_open, cd9660_close, cd9660_read, cd9660_write, cd9660_seek,
        !            91:          cd9660_stat, cd9660_readdir },
        !            92: #endif
        !            93: #ifdef _TEST
        !            94:        { null_open,   null_close,   null_read,   null_write,   null_seek,
        !            95:          null_stat,   null_readdir   }
        !            96: #endif
        !            97: };
        !            98: int nfsys = NENTS(file_system);
        !            99:
        !           100: struct devsw   devsw[] = {
        !           101: #ifdef _TEST
        !           102:        { "UNIX", unixstrategy, unixopen, unixclose, unixioctl },
        !           103: #else
        !           104:        { "BIOS", biosstrategy, biosopen, biosclose, biosioctl },
        !           105: #endif
        !           106: };
        !           107: int ndevs = NENTS(devsw);
        !           108:
        !           109: struct devsw   netsw[] = {
        !           110:        { "net",  net_strategy, net_open, net_close, net_ioctl },
        !           111: };
        !           112:
        !           113: struct netif_driver    *netif_drivers[] = {
        !           114: };
        !           115: int n_netif_drivers = NENTS(netif_drivers);
        !           116:
        !           117: struct consdev constab[] = {
        !           118: #ifdef _TEST
        !           119:        { unix_probe, unix_init, unix_getc, unix_putc },
        !           120: #else
        !           121:        { pc_probe, pc_init, pc_getc, pc_putc },
        !           122:        { com_probe, com_init, com_getc, com_putc },
        !           123: #endif
        !           124:        { NULL }
        !           125: };
        !           126: struct consdev *cn_tab = constab;

CVSweb