goose_drv.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /******************************************************************************
  2. 版权所有:
  3. 文件名称: goose_drv.h
  4. 文件版本: 01.01
  5. 创建作者: xxxxxx
  6. 创建日期: 2010.9.19
  7. 功能说明: goose驱动程序。该驱动有两个设备节点。
  8. 其它说明:
  9. 修改记录:
  10. */
  11. #ifndef GOOSE_DRV_H
  12. #define GOOSE_DRV_H
  13. //主设备号
  14. #ifndef GOOSE_DEV_MAJOR
  15. #define GOOSE_DEV_MAJOR 236
  16. #endif
  17. //组播地址最大个数
  18. #ifndef GOOSE_MC_MAX
  19. #define GOOSE_MC_MAX 64
  20. #endif
  21. //设备节点名
  22. #ifndef GOOSE_DEV0
  23. #define GOOSE_DEV0 "/dev/goose0"
  24. #endif
  25. #ifndef GOOSE_DEV1
  26. #define GOOSE_DEV1 "/dev/goose1"
  27. #endif
  28. //魔数
  29. #define CFG_IOCTL_GOOSE_TYPE 0xF8
  30. //组播地址数据结构
  31. struct goose_mc_addr{
  32. unsigned char addr[6];
  33. };
  34. #define GOOSE_MC_ADD _IOW(CFG_IOCTL_GOOSE_TYPE, 1, struct goose_mc_addr) //添加一个组播地址
  35. #define GOOSE_MC_DROP _IOW(CFG_IOCTL_GOOSE_TYPE, 2, struct goose_mc_addr) //删除一个组播地址
  36. #ifdef __KERNEL__
  37. //extern void goose_add_skb(struct net_device *net_dev, unsigned char *data, unsigned short pkt_len);
  38. #endif
  39. #endif /* GOOSE_DRV_H */