api: memclnt - Mark old message versions as deprecated
[vpp.git] / src / vlibmemory / memclnt.api
index 2f1e2da..a8e7cfe 100644 (file)
@@ -29,16 +29,19 @@ service {
 /*
  * Create a client registration 
  */
-manual_print 
 define memclnt_create {
+  option deprecated;
+
     u32 context;                /* opaque value to be returned in the reply */
     i32 ctx_quota;              /* requested punt context quota */
     u64 input_queue;            /* client's queue */
-    u8 name[64];                /* for show, find by name, whatever */
+    string name[64];            /* for show, find by name, whatever */
     u32 api_versions[8];        /* client-server pairs use as desired */
 };
 
 define memclnt_create_reply {
+  option deprecated;
+
     u32 context;                /* opaque value from the create request */
     i32 response;               /* Non-negative = success */
     u64 handle;                 /* handle by which vlib knows this client */
@@ -49,11 +52,10 @@ define memclnt_create_reply {
 /*
  * Delete a client registration 
  */
-manual_print
 define memclnt_delete {
     u32 index;                  /* index, used e.g. by API trace replay */
     u64 handle;               /* handle by which vlib knows this client */
-    u8 do_cleanup;                             /* vlib to cleanup the registration */
+    bool do_cleanup;           /* vlib to cleanup the registration */
 };
 
 define memclnt_delete_reply {
@@ -102,7 +104,7 @@ autoreply define rpc_call {
 define get_first_msg_id {
     u32 client_index;
     u32 context;
-    u8 name[64];
+    string name[64];
 };
 
 define get_first_msg_id_reply {
@@ -118,7 +120,7 @@ typedef module_version {
   u32 major;
   u32 minor;
   u32 patch;
-  u8 name[64];
+  string name[64];
 };
 define api_versions {
   u32 client_index;
@@ -137,11 +139,11 @@ define api_versions_reply {
  * at api trace replay time
  */
 
-manual_print define trace_plugin_msg_ids
+define trace_plugin_msg_ids
 {
     u32 client_index;
     u32 context;
-    u8 plugin_name[128];
+    string plugin_name[128];
     u16 first_msg_id;
     u16 last_msg_id;
 };
@@ -149,7 +151,7 @@ manual_print define trace_plugin_msg_ids
 typedef message_table_entry
 {
   u16 index;
-  u8 name[64];
+  string name[64];
 };
 
 /*
@@ -157,7 +159,7 @@ typedef message_table_entry
  */
 define sockclnt_create {
     u32 context;                /* opaque value to be returned in the reply */
-    u8 name[64];                /* for show, find by name, whatever */
+    string name[64];                /* for show, find by name, whatever */
 };
 
 define sockclnt_create_reply {
@@ -209,3 +211,44 @@ autoreply define memclnt_keepalive
   u32 client_index;
   u32 context;
 };
+
+/** \brief Control ping from client to api server request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+*/
+define control_ping
+{
+  u32 client_index;
+  u32 context;
+};
+
+/** \brief Control ping from the client to the server response
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the request
+    @param vpe_pid - the pid of the vpe, returned by the server
+*/
+define control_ping_reply
+{
+  u32 context;
+  i32 retval;
+  u32 client_index;
+  u32 vpe_pid;
+};
+
+define memclnt_create_v2 {
+    u32 context;                /* opaque value to be returned in the reply */
+    i32 ctx_quota;              /* requested punt context quota */
+    u64 input_queue;            /* client's queue */
+    string name[64];            /* for show, find by name, whatever */
+    u32 api_versions[8];        /* client-server pairs use as desired */
+    bool keepalive[default=true];  /* dead client scan keepalives */
+};
+
+define memclnt_create_v2_reply {
+    u32 context;                /* opaque value from the create request */
+    i32 response;               /* Non-negative = success */
+    u64 handle;                 /* handle by which vlib knows this client */
+    u32 index;                  /* index, used e.g. by API trace replay */
+    u64 message_table;          /* serialized message table in shmem */
+};