XFusion API v1.3.0
|
xf_init 实现自动初始化。 更多...
结构体 | |
struct | xf_ip4_addr |
struct | xf_ip6_addr |
struct | _xf_ip_addr |
struct | _xf_netif_ip_info_t |
struct | _xf_netif_ip6_info_t |
struct | _xf_netif_dns_info_t |
DNS 服务器信息。 更多... | |
struct | _xf_netif_pair_mac_ip_t |
DHCP 客户端的地址信息(MAC 和 IP 地址对)。 更多... | |
struct | _xf_ip_event_got_ip_t |
XF_IP_EVENT_STA_GOT_IP 事件的事件结构。 更多... | |
struct | _xf_ip_event_ip_assigned_t |
XF_IP_EVENT_AP_STAIPASSIGNED 事件的事件结构。 更多... | |
宏定义 | |
#define | XF_INIT_EXPORT_SETUP(function) |
基础配置初始化. 主要用于初始化 log 等功能。 | |
#define | XF_INIT_EXPORT_BOARD(function) |
板级初始化.初始化和开发板相关内容,如 heap,sys 等功能。 | |
#define | XF_INIT_EXPORT_PREV(function) |
抽象层预初始化,初始化 HAL NAL 等抽象层. | |
#define | XF_INIT_EXPORT_CLEANUP(function) |
设置清除初始化,对应 SETUP 这里用于反初始化一些应用层不需要的操作. | |
#define | XF_INIT_EXPORT_DEVICE(function) |
设备初始化. 应用层初始化外设使用 | |
#define | XF_INIT_EXPORT_COMPONENT(function) |
组件初始化. 应用层初始化一些外部组件使用 | |
#define | XF_INIT_EXPORT_ENV(function) |
环境初始化. 应用层初始化环境(如文件系统) | |
#define | XF_INIT_EXPORT_APP(function) |
应用程序初始化. 如 | |
#define | XF_MAC_LEN_MAX (6) |
mac 地址最大长度。 | |
#define | XF_MAC2STR(a) (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5] |
#define | XF_MACSTR "%02x:%02x:%02x:%02x:%02x:%02x" |
#define | xf_netif_htonl(x) |
#define | xf_netif_ip4_makeu32(a, b, c, d) |
#define | XF_IPSTR "%d.%d.%d.%d" |
#define | xf_ip4_addr_get_byte(ipaddr, idx) (((const uint8_t*)(&(ipaddr)->addr))[idx]) |
#define | xf_ip4_addr1(ipaddr) xf_ip4_addr_get_byte(ipaddr, 0) |
#define | xf_ip4_addr2(ipaddr) xf_ip4_addr_get_byte(ipaddr, 1) |
#define | xf_ip4_addr3(ipaddr) xf_ip4_addr_get_byte(ipaddr, 2) |
#define | xf_ip4_addr4(ipaddr) xf_ip4_addr_get_byte(ipaddr, 3) |
#define | xf_ip4_addr1_16(ipaddr) ((uint16_t)xf_ip4_addr1(ipaddr)) |
#define | xf_ip4_addr2_16(ipaddr) ((uint16_t)xf_ip4_addr2(ipaddr)) |
#define | xf_ip4_addr3_16(ipaddr) ((uint16_t)xf_ip4_addr3(ipaddr)) |
#define | xf_ip4_addr4_16(ipaddr) ((uint16_t)xf_ip4_addr4(ipaddr)) |
#define | XF_IP2STR(ipaddr) |
#define | XF_IP6_ADDR_BLOCK1(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[0]) >> 16) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK2(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[0])) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK3(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[1]) >> 16) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK4(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[1])) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK5(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[2]) >> 16) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK6(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[2])) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK7(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[3]) >> 16) & 0xffff)) |
#define | XF_IP6_ADDR_BLOCK8(ip6addr) ((uint16_t)((xf_netif_htonl((ip6addr)->addr[3])) & 0xffff)) |
#define | XF_IPV6STR "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x" |
#define | XF_IPV62STR(ipaddr) |
#define | XF_IPADDR_TYPE_V4 0U |
#define | XF_IPADDR_TYPE_V6 6U |
#define | XF_IPADDR_TYPE_ANY 46U |
#define | XF_IP4TOUINT32(a, b, c, d) |
#define | XF_IP4TOADDR(a, b, c, d) xf_netif_htonl(XF_IP4TOUINT32(a, b, c, d)) |
#define | XF_IP4ADDR_INIT(a, b, c, d) |
xf_ip_addr_t. | |
#define | XF_IP6ADDR_INIT(a, b, c, d) |
xf_ip_addr_t. | |
#define | XF_IP4_ADDR(ipaddr, a, b, c, d) (ipaddr)->addr = xf_netif_htonl(xf_netif_ip4_makeu32(a, b, c, d)) |
#define | XF_NETIF_TODO 0 |
类型定义 | |
typedef struct xf_ip4_addr | xf_ip4_addr_t |
typedef struct xf_ip6_addr | xf_ip6_addr_t |
typedef struct _xf_ip_addr | xf_ip_addr_t |
typedef struct _xf_netif_ip_info_t | xf_netif_ip_info_t |
typedef struct _xf_netif_ip6_info_t | xf_netif_ip6_info_t |
typedef void * | xf_netif_t |
xfusion netif 句柄。 | |
typedef enum _xf_netif_dns_type_t | xf_netif_dns_type_t |
DNS 服务器类型。 | |
typedef struct _xf_netif_dns_info_t | xf_netif_dns_info_t |
DNS 服务器信息。 | |
typedef struct _xf_netif_pair_mac_ip_t | xf_netif_pair_mac_ip_t |
DHCP 客户端的地址信息(MAC 和 IP 地址对)。 | |
typedef enum _xf_ip_event_code_t | xf_ip_event_code_t |
IP 事件声明。 | |
typedef int32_t | xf_ip_event_id_t |
ip 事件 id。见 xf_ip_event_code_t. | |
typedef struct _xf_ip_event_got_ip_t | xf_ip_event_got_ip_t |
XF_IP_EVENT_STA_GOT_IP 事件的事件结构。 | |
typedef struct _xf_ip_event_ip_assigned_t | xf_ip_event_ip_assigned_t |
XF_IP_EVENT_AP_STAIPASSIGNED 事件的事件结构。 | |
typedef void(* | xf_ip_cb_t) (xf_ip_event_id_t event_id, void *event_data, void *user_args) |
ip 回调函数原型。 | |
枚举 | |
enum | _xf_netif_dns_type_t { XF_NETIF_DNS_MAIN = 0 , XF_NETIF_DNS_BACKUP , XF_NETIF_DNS_MAX } |
DNS 服务器类型。 更多... | |
enum | _xf_ip_event_code_t { XF_IP_EVENT_BASE = 0 , XF_IP_EVENT_GOT_IP = XF_IP_EVENT_BASE , XF_IP_EVENT_LOST_IP , XF_IP_EVENT_IP_ASSIGNED , XF_IP_EVENT_GOT_IP6 , XF_IP_EVENT_MAX } |
IP 事件声明。 更多... | |
函数 | |
static void | xf_netif_ip_addr_types_copy (xf_ip_addr_t *dest, const xf_ip_addr_t *src) |
复制 IP 地址。 | |
xf_init 实现自动初始化。
基于段的自动初始化机制可以实现: 需要初始化的组件依赖 xf_init, 而 xf_init 不依赖这些组件。 xfusion 用户使用 xf_init 时只需 #include "xf_init.h"
即可。
#define XF_INIT_EXPORT_SETUP | ( | function | ) |
基础配置初始化. 主要用于初始化 log 等功能。
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_BOARD | ( | function | ) |
板级初始化.初始化和开发板相关内容,如 heap,sys 等功能。
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_PREV | ( | function | ) |
抽象层预初始化,初始化 HAL NAL 等抽象层.
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_CLEANUP | ( | function | ) |
设置清除初始化,对应 SETUP 这里用于反初始化一些应用层不需要的操作.
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_DEVICE | ( | function | ) |
设备初始化. 应用层初始化外设使用
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_COMPONENT | ( | function | ) |
组件初始化. 应用层初始化一些外部组件使用
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_ENV | ( | function | ) |
环境初始化. 应用层初始化环境(如文件系统)
根据实际配置见:
function | 初始化函数. |
#define XF_INIT_EXPORT_APP | ( | function | ) |
应用程序初始化. 如
根据实际配置见:
function | 初始化函数. |
#define XF_MAC2STR | ( | a | ) | (a)[0], (a)[1], (a)[2], (a)[3], (a)[4], (a)[5] |
#define XF_MACSTR "%02x:%02x:%02x:%02x:%02x:%02x" |
#define xf_netif_htonl | ( | x | ) |
在文件 xf_netif_ip_addr_types.h 第 42 行定义.
#define xf_netif_ip4_makeu32 | ( | a, | |
b, | |||
c, | |||
d | |||
) |
在文件 xf_netif_ip_addr_types.h 第 49 行定义.
#define XF_IPSTR "%d.%d.%d.%d" |
在文件 xf_netif_ip_addr_types.h 第 55 行定义.
#define xf_ip4_addr_get_byte | ( | ipaddr, | |
idx | |||
) | (((const uint8_t*)(&(ipaddr)->addr))[idx]) |
在文件 xf_netif_ip_addr_types.h 第 56 行定义.
#define xf_ip4_addr1 | ( | ipaddr | ) | xf_ip4_addr_get_byte(ipaddr, 0) |
在文件 xf_netif_ip_addr_types.h 第 57 行定义.
#define xf_ip4_addr2 | ( | ipaddr | ) | xf_ip4_addr_get_byte(ipaddr, 1) |
在文件 xf_netif_ip_addr_types.h 第 58 行定义.
#define xf_ip4_addr3 | ( | ipaddr | ) | xf_ip4_addr_get_byte(ipaddr, 2) |
在文件 xf_netif_ip_addr_types.h 第 59 行定义.
#define xf_ip4_addr4 | ( | ipaddr | ) | xf_ip4_addr_get_byte(ipaddr, 3) |
在文件 xf_netif_ip_addr_types.h 第 60 行定义.
#define xf_ip4_addr1_16 | ( | ipaddr | ) | ((uint16_t)xf_ip4_addr1(ipaddr)) |
在文件 xf_netif_ip_addr_types.h 第 62 行定义.
#define xf_ip4_addr2_16 | ( | ipaddr | ) | ((uint16_t)xf_ip4_addr2(ipaddr)) |
在文件 xf_netif_ip_addr_types.h 第 63 行定义.
#define xf_ip4_addr3_16 | ( | ipaddr | ) | ((uint16_t)xf_ip4_addr3(ipaddr)) |
在文件 xf_netif_ip_addr_types.h 第 64 行定义.
#define xf_ip4_addr4_16 | ( | ipaddr | ) | ((uint16_t)xf_ip4_addr4(ipaddr)) |
在文件 xf_netif_ip_addr_types.h 第 65 行定义.
#define XF_IP2STR | ( | ipaddr | ) |
在文件 xf_netif_ip_addr_types.h 第 67 行定义.
#define XF_IP6_ADDR_BLOCK1 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[0]) >> 16) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 73 行定义.
#define XF_IP6_ADDR_BLOCK2 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[0])) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 74 行定义.
#define XF_IP6_ADDR_BLOCK3 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[1]) >> 16) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 75 行定义.
#define XF_IP6_ADDR_BLOCK4 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[1])) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 76 行定义.
#define XF_IP6_ADDR_BLOCK5 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[2]) >> 16) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 77 行定义.
#define XF_IP6_ADDR_BLOCK6 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[2])) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 78 行定义.
#define XF_IP6_ADDR_BLOCK7 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[3]) >> 16) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 79 行定义.
#define XF_IP6_ADDR_BLOCK8 | ( | ip6addr | ) | ((uint16_t)((xf_netif_htonl((ip6addr)->addr[3])) & 0xffff)) |
在文件 xf_netif_ip_addr_types.h 第 80 行定义.
#define XF_IPV6STR "%04x:%04x:%04x:%04x:%04x:%04x:%04x:%04x" |
在文件 xf_netif_ip_addr_types.h 第 82 行定义.
#define XF_IPV62STR | ( | ipaddr | ) |
在文件 xf_netif_ip_addr_types.h 第 84 行定义.
#define XF_IPADDR_TYPE_V4 0U |
#define XF_IPADDR_TYPE_V6 6U |
在文件 xf_netif_ip_addr_types.h 第 95 行定义.
#define XF_IPADDR_TYPE_ANY 46U |
在文件 xf_netif_ip_addr_types.h 第 96 行定义.
#define XF_IP4TOUINT32 | ( | a, | |
b, | |||
c, | |||
d | |||
) |
在文件 xf_netif_ip_addr_types.h 第 98 行定义.
#define XF_IP4TOADDR | ( | a, | |
b, | |||
c, | |||
d | |||
) | xf_netif_htonl(XF_IP4TOUINT32(a, b, c, d)) |
#define XF_IP4ADDR_INIT | ( | a, | |
b, | |||
c, | |||
d | |||
) |
在文件 xf_netif_ip_addr_types.h 第 109 行定义.
#define XF_IP6ADDR_INIT | ( | a, | |
b, | |||
c, | |||
d | |||
) |
在文件 xf_netif_ip_addr_types.h 第 122 行定义.
#define XF_IP4_ADDR | ( | ipaddr, | |
a, | |||
b, | |||
c, | |||
d | |||
) | (ipaddr)->addr = xf_netif_htonl(xf_netif_ip4_makeu32(a, b, c, d)) |
在文件 xf_netif_ip_addr_types.h 第 133 行定义.
#define XF_NETIF_TODO 0 |
在文件 xf_netif_types.h 第 35 行定义.
typedef struct xf_ip4_addr xf_ip4_addr_t |
typedef struct xf_ip6_addr xf_ip6_addr_t |
typedef struct _xf_ip_addr xf_ip_addr_t |
typedef struct _xf_netif_ip_info_t xf_netif_ip_info_t |
typedef struct _xf_netif_ip6_info_t xf_netif_ip6_info_t |
typedef void* xf_netif_t |
xfusion netif 句柄。
在文件 xf_netif_types.h 第 64 行定义.
typedef enum _xf_netif_dns_type_t xf_netif_dns_type_t |
DNS 服务器类型。
typedef struct _xf_netif_dns_info_t xf_netif_dns_info_t |
DNS 服务器信息。
typedef struct _xf_netif_pair_mac_ip_t xf_netif_pair_mac_ip_t |
DHCP 客户端的地址信息(MAC 和 IP 地址对)。
typedef enum _xf_ip_event_code_t xf_ip_event_code_t |
IP 事件声明。
typedef int32_t xf_ip_event_id_t |
ip 事件 id。见 xf_ip_event_code_t.
在文件 xf_netif_types.h 第 106 行定义.
typedef struct _xf_ip_event_got_ip_t xf_ip_event_got_ip_t |
XF_IP_EVENT_STA_GOT_IP 事件的事件结构。
typedef struct _xf_ip_event_ip_assigned_t xf_ip_event_ip_assigned_t |
XF_IP_EVENT_AP_STAIPASSIGNED 事件的事件结构。
typedef void(* xf_ip_cb_t) (xf_ip_event_id_t event_id, void *event_data, void *user_args) |
ip 回调函数原型。
event_id | 事件 id. 根据事件类型, 见 xf_ip_event_code_t. |
event_data | 事件数据. 需要根据事件 id 强转为对应的类型。 |
user_args | 用户数据. xf_ip_set_cb(..., user_args); 时传入. |
在文件 xf_netif_types.h 第 132 行定义.
enum _xf_netif_dns_type_t |
DNS 服务器类型。
枚举值 | |
---|---|
XF_NETIF_DNS_MAIN | DNS 主服务器 |
XF_NETIF_DNS_BACKUP | DNS 备份服务器 |
XF_NETIF_DNS_MAX | DNS 服务器无效值 |
在文件 xf_netif_types.h 第 69 行定义.
enum _xf_ip_event_code_t |
IP 事件声明。
在文件 xf_netif_types.h 第 93 行定义.
|
inlinestatic |