mirror of
https://gitee.com/openharmony/third_party_alsa-lib
synced 2025-02-20 00:32:33 +00:00
Types size fixes
This commit is contained in:
parent
a01c8f0d03
commit
6f66416685
@ -65,7 +65,7 @@ typedef struct {
|
||||
|
||||
typedef struct {
|
||||
long result;
|
||||
long cookie;
|
||||
int cookie;
|
||||
} snd_client_open_answer_t;
|
||||
|
||||
struct cmsg_fd
|
||||
|
@ -110,36 +110,40 @@ int make_inet_socket(int port)
|
||||
int send_fd(int socket, void *data, size_t len, int fd)
|
||||
{
|
||||
int ret;
|
||||
struct cmsg_fd cmsg;
|
||||
size_t cmsg_len = CMSG_LEN(sizeof(int));
|
||||
struct cmsghdr *cmsg = alloca(cmsg_len);
|
||||
int *fds = (int *) CMSG_DATA(cmsg);
|
||||
struct msghdr msghdr;
|
||||
struct iovec vec;
|
||||
|
||||
vec.iov_base = (void *)&data;
|
||||
vec.iov_len = len;
|
||||
|
||||
cmsg.len = sizeof(cmsg);
|
||||
cmsg.level = SOL_SOCKET;
|
||||
cmsg.type = SCM_RIGHTS;
|
||||
cmsg.fd = fd;
|
||||
cmsg->cmsg_len = cmsg_len;
|
||||
cmsg->cmsg_level = SOL_SOCKET;
|
||||
cmsg->cmsg_type = SCM_RIGHTS;
|
||||
*fds = fd;
|
||||
|
||||
msghdr.msg_name = NULL;
|
||||
msghdr.msg_namelen = 0;
|
||||
msghdr.msg_iov = &vec;
|
||||
msghdr.msg_iovlen = 1;
|
||||
msghdr.msg_control = &cmsg;
|
||||
msghdr.msg_controllen = sizeof(cmsg);
|
||||
msghdr.msg_control = cmsg;
|
||||
msghdr.msg_controllen = cmsg_len;
|
||||
msghdr.msg_flags = 0;
|
||||
|
||||
ret = sendmsg(socket, &msghdr, 0 );
|
||||
if (ret < 0)
|
||||
if (ret < 0) {
|
||||
perrno("sendmsg");
|
||||
return -errno;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
typedef struct client client_t;
|
||||
|
||||
typedef struct {
|
||||
int (*open)(client_t *client, long *cookie);
|
||||
int (*open)(client_t *client, int *cookie);
|
||||
int (*cmd)(client_t *client);
|
||||
int (*close)(client_t *client);
|
||||
int (*poll_prepare)(client_t *client, struct pollfd *pfds, int pindex);
|
||||
@ -198,7 +202,7 @@ struct client {
|
||||
client_t clients[CLIENTS_MAX];
|
||||
int clients_count = 0;
|
||||
|
||||
int pcm_shm_open(client_t *client, long *cookie)
|
||||
int pcm_shm_open(client_t *client, int *cookie)
|
||||
{
|
||||
int shmid;
|
||||
snd_pcm_t *pcm;
|
||||
@ -566,8 +570,6 @@ void snd_client_open(client_t *client)
|
||||
}
|
||||
|
||||
_answer:
|
||||
ans.result = htonl(ans.result);
|
||||
ans.cookie = htonl(ans.cookie);
|
||||
err = write(client->ctrl.fd, &ans, sizeof(ans));
|
||||
if (err != sizeof(ans)) {
|
||||
perrno("write");
|
||||
|
@ -51,30 +51,32 @@ typedef struct {
|
||||
int receive_fd(int socket, void *data, size_t len, int *fd)
|
||||
{
|
||||
int ret;
|
||||
struct cmsg_fd cmsg;
|
||||
size_t cmsg_len = CMSG_LEN(sizeof(int));
|
||||
struct cmsghdr *cmsg = alloca(cmsg_len);
|
||||
int *fds = (int *) CMSG_DATA(cmsg);
|
||||
struct msghdr msghdr;
|
||||
struct iovec vec;
|
||||
|
||||
vec.iov_base = (void *)&data;
|
||||
vec.iov_len = len;
|
||||
|
||||
cmsg.len = sizeof(cmsg);
|
||||
cmsg.level = SOL_SOCKET;
|
||||
cmsg.type = SCM_RIGHTS;
|
||||
cmsg.fd = -1;
|
||||
cmsg->cmsg_len = cmsg_len;
|
||||
cmsg->cmsg_level = SOL_SOCKET;
|
||||
cmsg->cmsg_type = SCM_RIGHTS;
|
||||
*fds = -1;
|
||||
|
||||
msghdr.msg_name = NULL;
|
||||
msghdr.msg_namelen = 0;
|
||||
msghdr.msg_iov = &vec;
|
||||
msghdr.msg_iovlen = 1;
|
||||
msghdr.msg_control = &cmsg;
|
||||
msghdr.msg_controllen = sizeof(cmsg);
|
||||
msghdr.msg_control = cmsg;
|
||||
msghdr.msg_controllen = cmsg_len;
|
||||
msghdr.msg_flags = 0;
|
||||
|
||||
ret = recvmsg(socket, &msghdr, 0);
|
||||
if (ret < 0)
|
||||
return -errno;
|
||||
*fd = cmsg.fd;
|
||||
*fd = *fds;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@ -782,8 +784,7 @@ int snd_pcm_client_create(snd_pcm_t **handlep, char *host, int port, int transpo
|
||||
result = -EINVAL;
|
||||
goto _err;
|
||||
}
|
||||
result = ntohl(ans.result);
|
||||
ans.cookie = ntohl(ans.cookie);
|
||||
result = ans.result;
|
||||
if (result < 0)
|
||||
goto _err;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user