Add proper types for linux message queue syscalls; mostly taken

from 32-bit Linuxulator.

MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D25386
This commit is contained in:
Edward Tomasz Napierala 2020-06-27 14:42:08 +00:00
parent 36507f85dc
commit 308e194cbf
5 changed files with 103 additions and 24 deletions

View File

@ -1394,22 +1394,48 @@
int linux_get_mempolicy(void);
}
240 AUE_NULL STD {
int linux_mq_open(void);
int linux_mq_open(
const char *name,
l_int oflag,
l_mode_t mode,
struct mq_attr *attr
);
}
241 AUE_NULL STD {
int linux_mq_unlink(void);
int linux_mq_unlink(
const char *name
);
}
242 AUE_NULL STD {
int linux_mq_timedsend(void);
int linux_mq_timedsend(
l_mqd_t mqd,
const char *msg_ptr,
l_size_t msg_len,
l_uint msg_prio,
const struct l_timespec *abs_timeout
);
}
243 AUE_NULL STD {
int linux_mq_timedreceive(void);
int linux_mq_timedreceive(
l_mqd_t mqd,
char *msg_ptr,
l_size_t msg_len,
l_uint *msg_prio,
const struct l_timespec *abs_timeout
);
}
244 AUE_NULL STD {
int linux_mq_notify(void);
int linux_mq_notify(
l_mqd_t mqd,
const struct l_timespec *abs_timeout
);
}
245 AUE_NULL STD {
int linux_mq_getsetattr(void);
int linux_mq_getsetattr(
l_mqd_t mqd,
const struct mq_attr *attr,
struct mq_attr *oattr
);
}
246 AUE_NULL STD {
int linux_kexec_load(void);

View File

@ -1508,22 +1508,48 @@
}
; Linux 2.6.6:
277 AUE_NULL STD {
int linux_mq_open(void);
int linux_mq_open(
const char *name,
l_int oflag,
l_mode_t mode,
struct mq_attr *attr
);
}
278 AUE_NULL STD {
int linux_mq_unlink(void);
int linux_mq_unlink(
const char *name
);
}
279 AUE_NULL STD {
int linux_mq_timedsend(void);
int linux_mq_timedsend(
l_mqd_t mqd,
const char *msg_ptr,
l_size_t msg_len,
l_uint msg_prio,
const struct l_timespec *abs_timeout
);
}
280 AUE_NULL STD {
int linux_mq_timedreceive(void);
int linux_mq_timedreceive(
l_mqd_t mqd,
char *msg_ptr,
l_size_t msg_len,
l_uint *msg_prio,
const struct l_timespec *abs_timeout
);
}
281 AUE_NULL STD {
int linux_mq_notify(void);
int linux_mq_notify(
l_mqd_t mqd,
const struct l_timespec *abs_timeout
);
}
282 AUE_NULL STD {
int linux_mq_getsetattr(void);
int linux_mq_getsetattr(
l_mqd_t mqd,
const struct mq_attr *attr,
struct mq_attr *oattr
);
}
283 AUE_NULL STD {
int linux_kexec_load(void);

View File

@ -64,6 +64,7 @@ typedef l_ulong l_size_t;
typedef l_long l_suseconds_t;
typedef l_long l_time_t;
typedef l_int l_timer_t; /* XXX */
typedef l_int l_mqd_t;
typedef l_ulong l_fd_mask;
typedef struct {

View File

@ -1040,22 +1040,48 @@
);
}
180 AUE_NULL STD {
int linux_mq_open(void);
int linux_mq_open(
const char *name,
l_int oflag,
l_mode_t mode,
struct mq_attr *attr
);
}
181 AUE_NULL STD {
int linux_mq_unlink(void);
int linux_mq_unlink(
const char *name
);
}
182 AUE_NULL STD {
int linux_mq_timedsend(void);
int linux_mq_timedsend(
l_mqd_t mqd,
const char *msg_ptr,
l_size_t msg_len,
l_uint msg_prio,
const struct l_timespec *abs_timeout
);
}
183 AUE_NULL STD {
int linux_mq_timedreceive(void);
int linux_mq_timedreceive(
l_mqd_t mqd,
char *msg_ptr,
l_size_t msg_len,
l_uint *msg_prio,
const struct l_timespec *abs_timeout
);
}
184 AUE_NULL STD {
int linux_mq_notify(void);
int linux_mq_notify(
l_mqd_t mqd,
const struct l_timespec *abs_timeout
);
}
185 AUE_NULL STD {
int linux_mq_getsetattr(void);
int linux_mq_getsetattr(
l_mqd_t mqd,
const struct mq_attr *attr,
struct mq_attr *oattr
);
}
186 AUE_NULL STD {
int linux_msgget(

View File

@ -1532,8 +1532,8 @@
277 AUE_NULL STD {
int linux_mq_open(
const char *name,
int oflag,
mode_t mode,
l_int oflag,
l_mode_t mode,
struct mq_attr *attr
);
}
@ -1546,8 +1546,8 @@
int linux_mq_timedsend(
l_mqd_t mqd,
const char *msg_ptr,
size_t msg_len,
unsigned int msg_prio,
l_size_t msg_len,
l_uint msg_prio,
const struct l_timespec *abs_timeout
);
}
@ -1555,8 +1555,8 @@
int linux_mq_timedreceive(
l_mqd_t mqd,
char *msg_ptr,
size_t msg_len,
unsigned int msg_prio,
l_size_t msg_len,
l_uint *msg_prio,
const struct l_timespec *abs_timeout
);
}