Re: [PATCH] Preemptively fix warnings that will be caused by -Wmissing-prototypes

2023-01-10 Thread Samuel Thibault
Applied, thanks!

Flavio Cruz, le mar. 10 janv. 2023 01:00:37 -0500, a ecrit:
> Declared RPCs in ipc/mach_port.c and ddb/db_ext_symtab.c in their 
> corresponding headers.
> Ideally these should be used by mig instead of mig declaring its own
> prototypes.
> ---
>  Makefrag.am |   1 +
>  ddb/db_ext_symtab.c |   1 +
>  ipc/mach_port.c |   1 -
>  ipc/mach_port.h | 103 ++--
>  kern/mach_debug.h   |  40 +
>  5 files changed, 142 insertions(+), 4 deletions(-)
>  create mode 100644 kern/mach_debug.h
> 
> diff --git a/Makefrag.am b/Makefrag.am
> index e2b4a3ba..8a82caee 100644
> --- a/Makefrag.am
> +++ b/Makefrag.am
> @@ -170,6 +170,7 @@ libkernel_a_SOURCES += \
>   kern/log2.h \
>   kern/mach_clock.c \
>   kern/mach_clock.h \
> + kern/mach_debug.h \
>   kern/mach_factor.c \
>   kern/mach_factor.h \
>   kern/machine.c \
> diff --git a/ddb/db_ext_symtab.c b/ddb/db_ext_symtab.c
> index e1bdfd8b..9c89fb95 100644
> --- a/ddb/db_ext_symtab.c
> +++ b/ddb/db_ext_symtab.c
> @@ -35,6 +35,7 @@
>  #include 
>  #include 
>  #include 
> +#include 
>  #include 
>  #include 
>  
> diff --git a/ipc/mach_port.c b/ipc/mach_port.c
> index e5a5e978..1c9cdc97 100644
> --- a/ipc/mach_port.c
> +++ b/ipc/mach_port.c
> @@ -62,7 +62,6 @@
>  #include 
>  
>  
> -
>  /*
>   *   Routine:mach_port_names_helper
>   *   Purpose:
> diff --git a/ipc/mach_port.h b/ipc/mach_port.h
> index 83641ae6..c93c48df 100644
> --- a/ipc/mach_port.h
> +++ b/ipc/mach_port.h
> @@ -30,6 +30,12 @@
>  #include 
>  #include 
>  
> +#if  MACH_KDB
> +void db_debug_port_references (boolean_t enable);
> +#endif   /* MACH_KDB */
> +
> +/* RPCs */
> +
>  extern kern_return_t
>  mach_port_allocate_name (
>  ipc_space_t space,
> @@ -65,8 +71,99 @@ mach_port_get_receive_status(
>   mach_port_name_tname,
>   mach_port_status_t  *statusp);
>  
> -#if  MACH_KDB
> -void db_debug_port_references (boolean_t enable);
> -#endif   /* MACH_KDB */
> +kern_return_t
> +mach_port_names(
> + ipc_space_t space,
> + mach_port_name_t**namesp,
> + mach_msg_type_number_t  *namesCnt,
> + mach_port_type_t**typesp,
> + mach_msg_type_number_t  *typesCnt);
> +
> +kern_return_t
> +mach_port_type(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_type_t*typep);
> +
> +kern_return_t
> +mach_port_rename(
> + ipc_space_t space,
> + mach_port_name_toname,
> + mach_port_name_tnname);
> +
> +kern_return_t
> +mach_port_get_refs(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_right_t   right,
> + mach_port_urefs_t   *urefsp);
> +
> +kern_return_t
> +mach_port_mod_refs(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_right_t   right,
> + mach_port_delta_t   delta);
> +
> +kern_return_t
> +mach_port_set_qlimit(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_msgcount_tqlimit);
> +
> +kern_return_t
> +mach_port_set_mscount(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_mscount_t mscount);
> +
> +kern_return_t
> +mach_port_set_seqno(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_seqno_t   seqno);
> +
> +kern_return_t
> +mach_port_get_set_status(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_port_name_t**members,
> + mach_msg_type_number_t  *membersCnt);
> +
> +kern_return_t
> +mach_port_move_member(
> + ipc_space_t space,
> + mach_port_name_tmember,
> + mach_port_name_tafter);
> +
> +kern_return_t
> +mach_port_request_notification(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_msg_id_t   id,
> + mach_port_mscount_t sync,
> + ipc_port_t  notify,
> + ipc_port_t  *previousp);
> +
> +kern_return_t
> +mach_port_extract_right(
> + ipc_space_t space,
> + mach_port_name_tname,
> + mach_msg_type_name_tmsgt_name,
> + ipc_port_t  *poly,
> + mach_msg_type_name_t*polyPoly);
> +
> +kern_return_t
> +mach_port_set_protected_payload(
> + ipc_space_t space,
> + mach_port_name_tname,
> + unsigned long   payload);
> +
> +kern_return_t
> +mach_port_clear_protected_payload(
> + ipc_space_t space,
> + mach_port_name_tname);
> +
> +/* End of RPCs */
>  
>  #endif /* _IPC_MACH_PORT_H_ */
> diff --git a/kern/mach_debug.h b/kern/mach_debug.h
> new file mode 100644
> index ..63b8ae96
> --- /dev/null
> +++ b/kern/mach_debug.h
> @@ -0,0 +1,40 @@

[PATCH] Preemptively fix warnings that will be caused by -Wmissing-prototypes

2023-01-09 Thread Flavio Cruz
Declared RPCs in ipc/mach_port.c and ddb/db_ext_symtab.c in their corresponding 
headers.
Ideally these should be used by mig instead of mig declaring its own
prototypes.
---
 Makefrag.am |   1 +
 ddb/db_ext_symtab.c |   1 +
 ipc/mach_port.c |   1 -
 ipc/mach_port.h | 103 ++--
 kern/mach_debug.h   |  40 +
 5 files changed, 142 insertions(+), 4 deletions(-)
 create mode 100644 kern/mach_debug.h

diff --git a/Makefrag.am b/Makefrag.am
index e2b4a3ba..8a82caee 100644
--- a/Makefrag.am
+++ b/Makefrag.am
@@ -170,6 +170,7 @@ libkernel_a_SOURCES += \
kern/log2.h \
kern/mach_clock.c \
kern/mach_clock.h \
+   kern/mach_debug.h \
kern/mach_factor.c \
kern/mach_factor.h \
kern/machine.c \
diff --git a/ddb/db_ext_symtab.c b/ddb/db_ext_symtab.c
index e1bdfd8b..9c89fb95 100644
--- a/ddb/db_ext_symtab.c
+++ b/ddb/db_ext_symtab.c
@@ -35,6 +35,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 
diff --git a/ipc/mach_port.c b/ipc/mach_port.c
index e5a5e978..1c9cdc97 100644
--- a/ipc/mach_port.c
+++ b/ipc/mach_port.c
@@ -62,7 +62,6 @@
 #include 
 
 
-
 /*
  * Routine:mach_port_names_helper
  * Purpose:
diff --git a/ipc/mach_port.h b/ipc/mach_port.h
index 83641ae6..c93c48df 100644
--- a/ipc/mach_port.h
+++ b/ipc/mach_port.h
@@ -30,6 +30,12 @@
 #include 
 #include 
 
+#ifMACH_KDB
+void db_debug_port_references (boolean_t enable);
+#endif /* MACH_KDB */
+
+/* RPCs */
+
 extern kern_return_t
 mach_port_allocate_name (
 ipc_space_t space,
@@ -65,8 +71,99 @@ mach_port_get_receive_status(
mach_port_name_tname,
mach_port_status_t  *statusp);
 
-#ifMACH_KDB
-void db_debug_port_references (boolean_t enable);
-#endif /* MACH_KDB */
+kern_return_t
+mach_port_names(
+   ipc_space_t space,
+   mach_port_name_t**namesp,
+   mach_msg_type_number_t  *namesCnt,
+   mach_port_type_t**typesp,
+   mach_msg_type_number_t  *typesCnt);
+
+kern_return_t
+mach_port_type(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_type_t*typep);
+
+kern_return_t
+mach_port_rename(
+   ipc_space_t space,
+   mach_port_name_toname,
+   mach_port_name_tnname);
+
+kern_return_t
+mach_port_get_refs(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_right_t   right,
+   mach_port_urefs_t   *urefsp);
+
+kern_return_t
+mach_port_mod_refs(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_right_t   right,
+   mach_port_delta_t   delta);
+
+kern_return_t
+mach_port_set_qlimit(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_msgcount_tqlimit);
+
+kern_return_t
+mach_port_set_mscount(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_mscount_t mscount);
+
+kern_return_t
+mach_port_set_seqno(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_seqno_t   seqno);
+
+kern_return_t
+mach_port_get_set_status(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_port_name_t**members,
+   mach_msg_type_number_t  *membersCnt);
+
+kern_return_t
+mach_port_move_member(
+   ipc_space_t space,
+   mach_port_name_tmember,
+   mach_port_name_tafter);
+
+kern_return_t
+mach_port_request_notification(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_msg_id_t   id,
+   mach_port_mscount_t sync,
+   ipc_port_t  notify,
+   ipc_port_t  *previousp);
+
+kern_return_t
+mach_port_extract_right(
+   ipc_space_t space,
+   mach_port_name_tname,
+   mach_msg_type_name_tmsgt_name,
+   ipc_port_t  *poly,
+   mach_msg_type_name_t*polyPoly);
+
+kern_return_t
+mach_port_set_protected_payload(
+   ipc_space_t space,
+   mach_port_name_tname,
+   unsigned long   payload);
+
+kern_return_t
+mach_port_clear_protected_payload(
+   ipc_space_t space,
+   mach_port_name_tname);
+
+/* End of RPCs */
 
 #endif /* _IPC_MACH_PORT_H_ */
diff --git a/kern/mach_debug.h b/kern/mach_debug.h
new file mode 100644
index ..63b8ae96
--- /dev/null
+++ b/kern/mach_debug.h
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2023 Free Software Foundation, Inc.
+ *
+ * This file is part of GNU Mach.
+ *
+ * GNU Mach is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2, or (at your