176d28ca7SMark Cave-Ayland /* 276d28ca7SMark Cave-Ayland * QEMU Lance (Am7990) device emulation 376d28ca7SMark Cave-Ayland * 476d28ca7SMark Cave-Ayland * Copyright (c) 2004 Antony T Curtis 576d28ca7SMark Cave-Ayland * Copyright (c) 2017 Mark Cave-Ayland 676d28ca7SMark Cave-Ayland * 776d28ca7SMark Cave-Ayland * This represents the Sparc32 lance (Am7990) ethernet device which is an 876d28ca7SMark Cave-Ayland * earlier register-compatible member of the AMD PC-Net II (Am79C970A) family. 976d28ca7SMark Cave-Ayland * 1076d28ca7SMark Cave-Ayland * Permission is hereby granted, free of charge, to any person obtaining a copy 1176d28ca7SMark Cave-Ayland * of this software and associated documentation files (the "Software"), to deal 1276d28ca7SMark Cave-Ayland * in the Software without restriction, including without limitation the rights 1376d28ca7SMark Cave-Ayland * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 1476d28ca7SMark Cave-Ayland * copies of the Software, and to permit persons to whom the Software is 1576d28ca7SMark Cave-Ayland * furnished to do so, subject to the following conditions: 1676d28ca7SMark Cave-Ayland * 1776d28ca7SMark Cave-Ayland * The above copyright notice and this permission notice shall be included in 1876d28ca7SMark Cave-Ayland * all copies or substantial portions of the Software. 1976d28ca7SMark Cave-Ayland * 2076d28ca7SMark Cave-Ayland * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 2176d28ca7SMark Cave-Ayland * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 2276d28ca7SMark Cave-Ayland * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 2376d28ca7SMark Cave-Ayland * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 2476d28ca7SMark Cave-Ayland * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 2576d28ca7SMark Cave-Ayland * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 2676d28ca7SMark Cave-Ayland * THE SOFTWARE. 2776d28ca7SMark Cave-Ayland */ 2876d28ca7SMark Cave-Ayland 2976d28ca7SMark Cave-Ayland #ifndef LANCE_H 3076d28ca7SMark Cave-Ayland #define LANCE_H 3176d28ca7SMark Cave-Ayland 3276d28ca7SMark Cave-Ayland #include "net/net.h" 3376d28ca7SMark Cave-Ayland #include "hw/net/pcnet.h" 34ec150c7eSMarkus Armbruster #include "hw/sysbus.h" 35db1015e9SEduardo Habkost #include "qom/object.h" 3676d28ca7SMark Cave-Ayland 3776d28ca7SMark Cave-Ayland #define TYPE_LANCE "lance" 38db1015e9SEduardo Habkost typedef struct SysBusPCNetState SysBusPCNetState; 39*8110fa1dSEduardo Habkost DECLARE_INSTANCE_CHECKER(SysBusPCNetState, SYSBUS_PCNET, 40*8110fa1dSEduardo Habkost TYPE_LANCE) 4176d28ca7SMark Cave-Ayland 42db1015e9SEduardo Habkost struct SysBusPCNetState { 4376d28ca7SMark Cave-Ayland SysBusDevice parent_obj; 4476d28ca7SMark Cave-Ayland 4576d28ca7SMark Cave-Ayland PCNetState state; 46db1015e9SEduardo Habkost }; 4776d28ca7SMark Cave-Ayland 4876d28ca7SMark Cave-Ayland #endif 49