1 /* 2 * Copyright (C) 2006 Michael Brown <mbrown (at) fensystems.co.uk>. 3 * 4 * This program is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU General Public License as 6 * published by the Free Software Foundation; either version 2 of the 7 * License, or any later version. 8 * 9 * This program is distributed in the hope that it will be useful, but 10 * WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 17 */ 18 19 FILE_LICENCE ( GPL2_OR_LATER ); 20 21 #include <stdint.h> 22 #include <errno.h> 23 #include <gpxe/iobuf.h> 24 #include <gpxe/netdevice.h> 25 26 /** @file 27 * 28 * Null network device 29 * 30 */ 31 32 static int null_open ( struct net_device *netdev __unused ) { 33 return -ENODEV; 34 }; 35 36 static void null_close ( struct net_device *netdev __unused ) { 37 /* Do nothing */ 38 }; 39 40 static int null_transmit ( struct net_device *netdev __unused, 41 struct io_buffer *iobuf __unused ) { 42 return -ENODEV; 43 }; 44 45 static void null_poll ( struct net_device *netdev __unused ) { 46 /* Do nothing */ 47 } 48 49 static void null_irq ( struct net_device *netdev __unused, 50 int enable __unused ) { 51 /* Do nothing */ 52 } 53 54 struct net_device_operations null_netdev_operations = { 55 .open = null_open, 56 .close = null_close, 57 .transmit = null_transmit, 58 .poll = null_poll, 59 .irq = null_irq, 60 }; 61