bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 15/17] hurd: add proc_{get,set}_code


From: Justus Winter
Subject: [PATCH 15/17] hurd: add proc_{get,set}_code
Date: Thu, 15 Aug 2013 09:38:05 +0200

Add routines to set and query the processes start_code and end_code
locations. Any executable segments loaded from the ELF binary are in
this range.

* hurd/process.defs: Add proc_{get,set}_code.
* hurd/process_reply.defs: Add proc_{get,set}_code.
* hurd/process_request.defs: Add proc_{get,set}_code_request.
---
 hurd/process.defs         |   17 +++++++++++++++++
 hurd/process_reply.defs   |    7 +++++++
 hurd/process_request.defs |   17 +++++++++++++++++
 3 files changed, 41 insertions(+)

diff --git a/hurd/process.defs b/hurd/process.defs
index 055ad72..498faba 100644
--- a/hurd/process.defs
+++ b/hurd/process.defs
@@ -387,3 +387,20 @@ routine proc_mark_important (
 routine proc_is_important (
        process: process_t;
        out essential: boolean_t);
+
+/* Set the processes start_code and end_code locations.  Any
+   executable segments loaded from the ELF binary are in this
+   range.  */
+routine proc_set_code (
+       process: process_t;
+       start_code: vm_address_t;
+       end_code: vm_address_t);
+
+/* Get the processes start_code and end_code locations.  Any
+   executable segments loaded from the ELF binary are in this range.
+   If zero is returned for these values, the requested information has
+   never been set.  */
+routine proc_get_code (
+       process: process_t;
+       out start_code: vm_address_t;
+       out end_code: vm_address_t);
diff --git a/hurd/process_reply.defs b/hurd/process_reply.defs
index 6f208eb..640b7ca 100644
--- a/hurd/process_reply.defs
+++ b/hurd/process_reply.defs
@@ -183,3 +183,10 @@ simpleroutine proc_is_important (
        RETURN_CODE_ARG;
        essential: boolean_t);
 
+skip; /* proc_set_code */
+
+simpleroutine proc_get_code (
+       reply_port: reply_port_t;
+       RETURN_CODE_ARG;
+       start_code: vm_address_t;
+       end_code: vm_address_t);
diff --git a/hurd/process_request.defs b/hurd/process_request.defs
index 5493fbc..7565f03 100644
--- a/hurd/process_request.defs
+++ b/hurd/process_request.defs
@@ -390,3 +390,20 @@ simpleroutine proc_mark_important_request (
 simpleroutine proc_is_important_request (
        process: process_t;
        ureplyport reply: reply_port_t);
+
+/* Set the processes start_code and end_code locations.  Any
+   executable segments loaded from the ELF binary are in this
+   range.  */
+simpleroutine proc_set_code_request (
+       process: process_t;
+       ureplyport reply: reply_port_t;
+       start_code: vm_address_t;
+       end_code: vm_address_t);
+
+/* Get the processes start_code and end_code locations.  Any
+   executable segments loaded from the ELF binary are in this range.
+   If zero is returned for these values, the requested information has
+   never been set.  */
+simpleroutine proc_get_code_request (
+       process: process_t;
+       ureplyport reply: reply_port_t);
-- 
1.7.10.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]