mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	Types size fixes
This commit is contained in:
		
							parent
							
								
									a01c8f0d03
								
							
						
					
					
						commit
						6f66416685
					
				
					 3 changed files with 26 additions and 23 deletions
				
			
		|  | @ -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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Abramo Bagnara
						Abramo Bagnara