/*
 * Copyright (C) 2005 - 2008 ServerEngines
 * All rights reserved.
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU General Public License version 2
 * as published by the Free Software Foundation.  The full GNU General
 * Public License is included in this distribution in the file called COPYING.
 *
 * Contact Information:
 * linux-drivers@serverengines.com
 *
 * ServerEngines
 * 209 N. Fair Oaks Ave
 * Sunnyvale, CA 94085
 */
/*
 * Autogenerated by srcgen version: 0127
 */
#ifndef __fwcmd_types_bmap_h__
#define __fwcmd_types_bmap_h__

/* MAC address format  */
struct MAC_ADDRESS_FORMAT {
	u16 SizeOfStructure;
	u8 MACAddress[6];
} __packed;

#endif /* __fwcmd_types_bmap_h__ */
