/* **********************************************************
 * Copyright (C) 1998-2000 VMware, Inc.
 * All Rights Reserved
 * **********************************************************/

#ifndef _VNET_H
#define _VNET_H

#define SIOCSKEEP          0x89F0  // not used
#define SIOCGKEEP          0x89F1  // not used

#define SIOCSLADRF         0x89F2

#define SIOCPORT           0x89F3
#define SIOCBRIDGE         0x89F4
#define SIOCNETIF          0x89F5


/*
 *  16 private IOCTLs available. However SIOCDEVPRIVATE == 0x89F0
 *  so we need to start at 6 to aviod above IOCTLs.
 */

#define SIOCSETMACADDR    (SIOCDEVPRIVATE+6)

/* version 1 structure */

typedef struct VNet_SetMacAddrIOCTL {
   int             version;
   unsigned char   addr[6];
   unsigned        flags;
} VNet_SetMacAddrIOCTL;

#define VNET_SETMACADDRF_UNIQUE      0x01


/*
 *  vlan switch stuff
 */

#define SIOCSSWITCHMAP     0x89F7

#define VNET_MAX_VLANS     255

struct VNetSwitchMap {
   int  trunk;
   int  vlan;
   int  connect;
   int  vnet;
};

#endif
