mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-08-07 20:35:49 +00:00
Convert code to use u{8,16,32,64}_t and s{8,16,32,64}_t instead of C99 integer types. This handles the remaining includes and kernel, plus touching up various points that we skipped because of include dependancies. We also convert the PRI printf formatters in the arch code over to normal formatters. Jira: ZEP-2051 Change-Id: Iecbb12601a3ee4ea936fd7ddea37788a645b08b0 Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
74 lines
1.5 KiB
C
74 lines
1.5 KiB
C
|
|
/**
|
|
* @file
|
|
* @brief Ethernet public API header file.
|
|
*/
|
|
|
|
/*
|
|
* Copyright (c) 2015 Intel Corporation
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#ifndef __INCLUDE_ETH_H__
|
|
#define __INCLUDE_ETH_H__
|
|
|
|
#include <device.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* @brief Ethernet driver API
|
|
*
|
|
* This structure holds all API function pointers.
|
|
*/
|
|
struct eth_driver_api {
|
|
int (*send)(struct device *dev, u8_t *buffer, u16_t len);
|
|
void (*register_callback)(struct device *dev,
|
|
void (*cb)(u8_t *buffer, u16_t len));
|
|
};
|
|
|
|
/**
|
|
* @brief Sends a frame to ethernet hardware
|
|
*
|
|
* This routine writes a buffer to be sent through the ethernet hardware.
|
|
*
|
|
* @param dev Pointer to the device structure for the driver instance.
|
|
* @param buffer Byte array to be sent through the device
|
|
* @param len Length of the array
|
|
*
|
|
* @return Error code
|
|
*/
|
|
static inline int eth_send(struct device *dev, u8_t *buffer, u16_t len)
|
|
{
|
|
const struct eth_driver_api *api = dev->driver_api;
|
|
|
|
return api->send(dev, buffer, len);
|
|
}
|
|
|
|
/**
|
|
* @brief Register callback for received frame
|
|
*
|
|
* This routine writes a buffer to be sent through the ethernet hardware.
|
|
*
|
|
* @param dev Pointer to the device structure for the driver instance.
|
|
* @param cb Callback function to be registered in the driver.
|
|
*
|
|
* @return Error code
|
|
*/
|
|
static inline void eth_register_callback(struct device *dev,
|
|
void (*cb)(u8_t *buffer, u16_t len))
|
|
{
|
|
const struct eth_driver_api *api = dev->driver_api;
|
|
|
|
api->register_callback(dev, cb);
|
|
}
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /*__INCLUDE_ETH_H__*/
|