examples/rpmsgsocket: fix build warning

Signed-off-by: yintao <yintao@xiaomi.com>
This commit is contained in:
yintao 2024-10-13 13:50:39 +08:00 committed by Xiang Xiao
parent 2de1fdcebd
commit bfde92a3fd
2 changed files with 71 additions and 45 deletions

View file

@ -24,11 +24,12 @@
#include <nuttx/config.h>
#include <assert.h>
#include <errno.h>
#include <inttypes.h>
#include <netpacket/rpmsg.h>
#include <poll.h>
#include <pthread.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@ -50,23 +51,23 @@
struct rpsock_arg_s
{
int fd;
char *inbuf;
char *outbuf;
FAR char *inbuf;
FAR char *outbuf;
bool nonblock;
int bufsize;
int check;
int fd;
};
/****************************************************************************
* Public Functions
****************************************************************************/
static void *rpsock_send_thread(pthread_addr_t pvarg)
static FAR void *rpsock_send_thread(FAR void *pvarg)
{
struct rpsock_arg_s *args = pvarg;
FAR struct rpsock_arg_s *args = pvarg;
FAR char *buf = args->outbuf;
int bufsize = args->bufsize;
char *buf = args->outbuf;
int fd = args->fd;
int total = 0;
ssize_t ret;
@ -74,13 +75,13 @@ static void *rpsock_send_thread(pthread_addr_t pvarg)
while (cnt < 2000)
{
volatile uint32_t *intp;
FAR volatile uint32_t *intp;
struct pollfd pfd;
char *tmp;
FAR char *tmp;
int snd;
int i;
intp = (uint32_t *)buf;
intp = (FAR uint32_t *)buf;
for (i = 0; i < bufsize / sizeof(uint32_t); i++)
{
intp[i] = cnt * bufsize / sizeof(uint32_t) + i;
@ -139,7 +140,7 @@ static void *rpsock_send_thread(pthread_addr_t pvarg)
return NULL;
}
static int rpsock_unsync_test(struct rpsock_arg_s *args)
static int rpsock_unsync_test(FAR struct rpsock_arg_s *args)
{
pthread_attr_t attr;
pthread_t thread;
@ -149,8 +150,7 @@ static int rpsock_unsync_test(struct rpsock_arg_s *args)
pthread_attr_init(&attr);
pthread_attr_setstacksize(&attr, 10 * 1024);
ret = pthread_create(&thread, &attr, rpsock_send_thread,
(pthread_addr_t)args);
ret = pthread_create(&thread, &attr, rpsock_send_thread, args);
if (ret < 0)
{
return ret;
@ -179,7 +179,7 @@ static int rpsock_unsync_test(struct rpsock_arg_s *args)
ret = recv(args->fd, args->inbuf, args->bufsize, 0);
if (ret > 0)
{
uint32_t *intp;
FAR uint32_t *intp;
int checks;
int i;
@ -225,14 +225,14 @@ static int rpsock_unsync_test(struct rpsock_arg_s *args)
return 0;
}
static int rpsock_stream_client(int argc, char *argv[])
static int rpsock_stream_client(FAR char *argv[])
{
struct sockaddr_rpmsg myaddr;
struct rpsock_arg_s args;
bool nonblock = false;
int cnt = 0;
char *outbuf;
char *inbuf;
FAR char *outbuf;
FAR char *inbuf;
int sockfd;
int ret;
@ -278,7 +278,7 @@ static int rpsock_stream_client(int argc, char *argv[])
strlcpy(myaddr.rp_cpu, argv[4], RPMSG_SOCKET_CPU_SIZE);
printf("client: Connecting to %s,%s...\n", myaddr.rp_cpu, myaddr.rp_name);
ret = connect(sockfd, (struct sockaddr *)&myaddr, sizeof(myaddr));
ret = connect(sockfd, (FAR struct sockaddr *)&myaddr, sizeof(myaddr));
if (ret < 0 && errno == EINPROGRESS)
{
struct pollfd pfd;
@ -306,9 +306,9 @@ static int rpsock_stream_client(int argc, char *argv[])
size_t sendsize = BUFHEAD + cnt * (random() % 64);
size_t recvsize = 0;
ssize_t act;
char *tmp;
FAR char *tmp;
FAR int *ptr;
int snd;
int *ptr;
int i;
if (sendsize > SYNCSIZE)
@ -319,7 +319,7 @@ static int rpsock_stream_client(int argc, char *argv[])
snprintf(outbuf, BUFHEAD, "process%04d, msg%04d, name:%s",
getpid(), cnt, argv[3]);
ptr = (int *)(outbuf + BUFHEAD);
ptr = (FAR int *)(outbuf + BUFHEAD);
for (i = 0; i < (sendsize - BUFHEAD) / 4; i++)
{
ptr[i] = cnt * 100 + i;
@ -388,7 +388,7 @@ static int rpsock_stream_client(int argc, char *argv[])
}
}
ptr = (int *)(inbuf + BUFHEAD);
ptr = (FAR int *)(inbuf + BUFHEAD);
for (i = 0; i < (recvsize - BUFHEAD) / 4; i++)
{
if (ptr[i] != cnt * 100 + i)
@ -420,13 +420,13 @@ errout_with_buffers:
return -errno;
}
static int rpsock_dgram_client(int argc, char *argv[])
static int rpsock_dgram_client(FAR char *argv[])
{
struct sockaddr_rpmsg myaddr;
struct rpsock_arg_s args;
bool nonblock = false;
char *outbuf;
char *inbuf;
FAR char *outbuf;
FAR char *inbuf;
int sockfd;
int ret;
@ -472,7 +472,7 @@ static int rpsock_dgram_client(int argc, char *argv[])
strlcpy(myaddr.rp_cpu, argv[4], RPMSG_SOCKET_CPU_SIZE);
printf("client: Connecting to %s,%s...\n", myaddr.rp_cpu, myaddr.rp_name);
ret = connect(sockfd, (struct sockaddr *)&myaddr, sizeof(myaddr));
ret = connect(sockfd, (FAR struct sockaddr *)&myaddr, sizeof(myaddr));
if (ret < 0 && errno == EINPROGRESS)
{
struct pollfd pfd;
@ -515,7 +515,19 @@ errout_with_buffers:
return -errno;
}
int main(int argc, char *argv[])
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: rpsock_client_main
*
* Description:
* Main entry point for the rpsock_client example.
*
****************************************************************************/
int main(int argc, FAR char *argv[])
{
if (argc < 4)
{
@ -526,11 +538,11 @@ int main(int argc, char *argv[])
if (!strcmp(argv[1], "stream"))
{
return rpsock_stream_client(argc, argv);
return rpsock_stream_client(argv);
}
else if (!strcmp(argv[1], "dgram"))
{
return rpsock_dgram_client(argc, argv);
return rpsock_dgram_client(argv);
}
return -EINVAL;

View file

@ -29,11 +29,14 @@
#include <netpacket/rpmsg.h>
#include <pthread.h>
#include <poll.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/types.h>
/****************************************************************************
* Private types
@ -46,19 +49,19 @@ struct rpsock_arg_s
};
/****************************************************************************
* Public Functions
* Private Functions
****************************************************************************/
static void *rpsock_thread(pthread_addr_t pvarg)
static FAR void *rpsock_thread(FAR void *pvarg)
{
struct rpsock_arg_s *args = pvarg;
FAR struct rpsock_arg_s *args = pvarg;
struct pollfd pfd;
char buf[255];
ssize_t ret;
while (1)
{
char *tmp;
FAR char *tmp;
int snd;
if (args->nonblock)
@ -152,7 +155,7 @@ static void *rpsock_thread(pthread_addr_t pvarg)
return NULL;
}
static int rpsock_stream_server(int argc, char *argv[])
static int rpsock_stream_server(int argc, FAR char *argv[])
{
struct sockaddr_rpmsg myaddr;
bool nonblock = false;
@ -199,7 +202,7 @@ static int rpsock_stream_server(int argc, char *argv[])
printf("server: bind cpu %s, name %s ...\n",
myaddr.rp_cpu, myaddr.rp_name);
ret = bind(listensd, (struct sockaddr *)&myaddr, sizeof(myaddr));
ret = bind(listensd, (FAR struct sockaddr *)&myaddr, sizeof(myaddr));
if (ret < 0)
{
printf("server: bind failure: %d\n", errno);
@ -218,7 +221,7 @@ static int rpsock_stream_server(int argc, char *argv[])
while (1)
{
struct rpsock_arg_s *args;
FAR struct rpsock_arg_s *args;
pthread_t thread;
struct pollfd pfd;
int new;
@ -238,7 +241,7 @@ static int rpsock_stream_server(int argc, char *argv[])
}
printf("server: try accept ...\n");
new = accept4(listensd, (struct sockaddr *)&myaddr, &addrlen,
new = accept4(listensd, (FAR struct sockaddr *)&myaddr, &addrlen,
SOCK_CLOEXEC);
if (new < 0)
break;
@ -251,8 +254,7 @@ static int rpsock_stream_server(int argc, char *argv[])
args->fd = new;
args->nonblock = nonblock;
pthread_create(&thread, NULL, rpsock_thread,
(pthread_addr_t)args);
pthread_create(&thread, NULL, rpsock_thread, args);
pthread_detach(thread);
}
@ -266,10 +268,10 @@ errout_with_listensd:
return -errno;
}
static int rpsock_dgram_server(int argc, char *argv[])
static int rpsock_dgram_server(int argc, FAR char *argv[])
{
struct sockaddr_rpmsg myaddr;
struct rpsock_arg_s *args;
FAR struct rpsock_arg_s *args;
bool nonblock = false;
int fd;
int ret;
@ -313,8 +315,8 @@ static int rpsock_dgram_server(int argc, char *argv[])
printf("server: bind cpu %s, name %s ...\n",
myaddr.rp_cpu, myaddr.rp_name);
ret = bind(fd, (struct sockaddr *)&myaddr, sizeof(myaddr));
ret = connect(fd, (struct sockaddr *)&myaddr, sizeof(myaddr));
ret = bind(fd, (FAR struct sockaddr *)&myaddr, sizeof(myaddr));
ret = connect(fd, (FAR struct sockaddr *)&myaddr, sizeof(myaddr));
if (ret < 0 && errno == EINPROGRESS)
{
struct pollfd pfd;
@ -349,9 +351,21 @@ static int rpsock_dgram_server(int argc, char *argv[])
return 0;
}
int main(int argc, char *argv[])
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: rpsock_server_main
*
* Description:
* Main entry point for the rpsock_server example.
*
****************************************************************************/
int main(int argc, FAR char *argv[])
{
if (argc != 4 && argc != 5)
if (argc < 4)
{
printf("Usage: rpsock_server stream/dgram"
" block/nonblock rp_name [rp_cpu]\n");