90 lines
2.5 KiB
C
90 lines
2.5 KiB
C
|
/****************************************************************************
|
||
|
|
||
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
||
|
|
||
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
||
|
be copied by any method or incorporated into another program without
|
||
|
the express written consent of Aerospace C.Power. This Information or any portion
|
||
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
||
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
||
|
liability for its use in any way and conveys no license or title under
|
||
|
any patent or copyright and makes no representation or warranty that this
|
||
|
Information is free from patent or copyright infringement.
|
||
|
|
||
|
****************************************************************************/
|
||
|
#ifndef CLI_LWIP_API_H
|
||
|
#define CLI_LWIP_API_H
|
||
|
|
||
|
#include "iot_config.h"
|
||
|
|
||
|
#ifdef __cplusplus
|
||
|
extern "C" {
|
||
|
#endif
|
||
|
|
||
|
#if (IOT_CLI_INF_MODE == IOT_CLI_INF_MODE_LWIP_SOCKET)
|
||
|
/* to avoid definition conflict with windows raw socket/freertos socket, */
|
||
|
/* use this interface to wrap */
|
||
|
/*
|
||
|
* @brief: open lwip udp socket
|
||
|
* @param bind_ip: the ip will be binded to this socket
|
||
|
* @param port: the port binded to this socket
|
||
|
*/
|
||
|
int cli_open_lwip_udp_socket(const char* bind_ip, uint32_t port);
|
||
|
|
||
|
/*
|
||
|
* @brief: lwip udp send
|
||
|
* @param s: the socket to send data
|
||
|
* @param data: buffer to send
|
||
|
* @param size: buffer len
|
||
|
* @param remote_ip: the dest ip
|
||
|
* @param port: the dest port
|
||
|
*/
|
||
|
int cli_lwip_sendto(int s, const void *data, size_t size,
|
||
|
const char* remote_ip, uint32_t port);
|
||
|
|
||
|
/*
|
||
|
* @brief: lwip udp recv
|
||
|
* @param s: the socket to send data
|
||
|
* @param mem: buffer to recv
|
||
|
* @param size: buffer len
|
||
|
* @param flags: flags to pass to lwip recvfrom
|
||
|
* @param from: the sender addr info
|
||
|
* @param addrlen: len of sender addr info
|
||
|
*/
|
||
|
int cli_lwip_recvfrom(int s, void *mem, size_t len, int flags,
|
||
|
void *from, uint32_t addrlen);
|
||
|
|
||
|
/*
|
||
|
* @brief: open lwip tcp socket
|
||
|
* @param port: the port to bind to the socket
|
||
|
*/
|
||
|
int cli_open_lwip_tcp_socket(uint32_t port);
|
||
|
|
||
|
/*
|
||
|
* @brief: accept connection from remote
|
||
|
* @param s: socket
|
||
|
*/
|
||
|
int cli_lwip_accept(int s);
|
||
|
|
||
|
/*
|
||
|
* @brief: tcp socket read
|
||
|
* @param s: socket
|
||
|
* @param men: buffer to recv
|
||
|
* @param len: buffer len
|
||
|
*/
|
||
|
int cli_lwip_read(int s, void*men, size_t len);
|
||
|
|
||
|
/*
|
||
|
* @brief: tcp socket send
|
||
|
* @param s: socket
|
||
|
* @param men: buffer to send
|
||
|
* @param len: buffer len
|
||
|
*/
|
||
|
int cli_lwip_send(int s, void*buf, size_t len);
|
||
|
|
||
|
#endif
|
||
|
#ifdef __cplusplus
|
||
|
}
|
||
|
#endif
|
||
|
#endif
|