ethernet.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. /****************************************************************************
  2. * include/net/ethernet.h
  3. *
  4. * Licensed to the Apache Software Foundation (ASF) under one or more
  5. * contributor license agreements. See the NOTICE file distributed with
  6. * this work for additional information regarding copyright ownership. The
  7. * ASF licenses this file to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance with the
  9. * License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing, software
  14. * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  15. * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  16. * License for the specific language governing permissions and limitations
  17. * under the License.
  18. *
  19. ****************************************************************************/
  20. #ifndef __INCLUDE_NET_ETHERNET_H
  21. #define __INCLUDE_NET_ETHERNET_H
  22. /****************************************************************************
  23. * Included Files
  24. ****************************************************************************/
  25. #include <stdint.h>
  26. /****************************************************************************
  27. * Pre-processor Definitions
  28. ****************************************************************************/
  29. #define ETHER_ADDR_LEN 6
  30. /****************************************************************************
  31. * Public Type Definitions
  32. ****************************************************************************/
  33. struct ether_addr
  34. {
  35. uint8_t ether_addr_octet[6]; /* 48-bit Ethernet address */
  36. };
  37. struct ether_header
  38. {
  39. uint8_t ether_dhost[ETHER_ADDR_LEN]; /* Destination Ethernet address */
  40. uint8_t ether_shost[ETHER_ADDR_LEN]; /* Source Ethernet address */
  41. uint16_t ether_type; /* Ethernet packet type */
  42. };
  43. /****************************************************************************
  44. * Public Function Prototypes
  45. ****************************************************************************/
  46. #endif /* __INCLUDE_NET_ETHERNET_H */