1/* 2 * 3 * Copyright (c) 2009, Microsoft Corporation. 4 * 5 * This program is free software; you can redistribute it and/or modify it 6 * under the terms and conditions of the GNU General Public License, 7 * version 2, as published by the Free Software Foundation. 8 * 9 * This program is distributed in the hope it will be useful, but WITHOUT 10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for 12 * more details. 13 * 14 * You should have received a copy of the GNU General Public License along with 15 * this program; if not, write to the Free Software Foundation, Inc., 59 Temple 16 * Place - Suite 330, Boston, MA 02111-1307 USA. 17 * 18 * Authors: 19 * Haiyang Zhang <haiyangz@microsoft.com> 20 * Hank Janssen <hjanssen@microsoft.com> 21 * 22 */ 23 24 25#ifndef _RNDISFILTER_H_ 26#define _RNDISFILTER_H_ 27 28#define __struct_bcount(x) 29 30#include "netvsc.h" 31 32#include "rndis.h" 33 34#define RNDIS_HEADER_SIZE (sizeof(struct rndis_message) - \ 35 sizeof(union rndis_message_container)) 36 37#define NDIS_PACKET_TYPE_DIRECTED 0x00000001 38#define NDIS_PACKET_TYPE_MULTICAST 0x00000002 39#define NDIS_PACKET_TYPE_ALL_MULTICAST 0x00000004 40#define NDIS_PACKET_TYPE_BROADCAST 0x00000008 41#define NDIS_PACKET_TYPE_SOURCE_ROUTING 0x00000010 42#define NDIS_PACKET_TYPE_PROMISCUOUS 0x00000020 43#define NDIS_PACKET_TYPE_SMT 0x00000040 44#define NDIS_PACKET_TYPE_ALL_LOCAL 0x00000080 45#define NDIS_PACKET_TYPE_GROUP 0x00000100 46#define NDIS_PACKET_TYPE_ALL_FUNCTIONAL 0x00000200 47#define NDIS_PACKET_TYPE_FUNCTIONAL 0x00000400 48#define NDIS_PACKET_TYPE_MAC_FRAME 0x00000800 49 50 51/* Interface */ 52 53extern int rndis_filter_init(struct netvsc_driver *driver); 54 55#endif /* _RNDISFILTER_H_ */ 56