Adding maximum size to variable arrays in flounder definitions. Converting
authorAdam Turowski <adam.turowski@inf.ethz.ch>
Tue, 26 Jul 2016 09:22:59 +0000 (11:22 +0200)
committerAdam Turowski <adam.turowski@inf.ethz.ch>
Tue, 26 Jul 2016 09:22:59 +0000 (11:22 +0200)
one TArray to normal arguments.

Signed-off-by: Adam Turowski <adam.turowski@inf.ethz.ch>

34 files changed:
if/acpi.if
if/ahci_mgmt.if
if/arrakis.if
if/ata_rw28.if
if/bcache.if
if/bench.if
if/bfs.if
if/bulk_ctrl.if
if/bulkbench.if
if/dist_event.if
if/intermon.if
if/interphi.if
if/monitor.if
if/monitor_blocking.if
if/octopus.if
if/pci.if
if/ping_pong.if
if/rcce.if
if/serial.if
if/skb.if
if/spawn.if
if/terminal.if
if/terminal_config.if
if/test.if
if/trivfs.if
if/unixsock.if
if/usb_driver.if
if/usb_manager.if
if/xeon_phi.if
if/xmplcr.if
if/xmplmsg.if
if/xmplrpc.if
if/xmplthc.if
if/xomp.if

index 57b2cd5..3b1b1ee 100644 (file)
@@ -21,13 +21,13 @@ interface acpi "acpi RPC Interface" {
                            out uint8 startbus,
                            out uint8 endbus);
 
-    rpc read_irq_table(in string handle,
+    rpc read_irq_table(in String handle[256],
                        in pci_address addr,
                        in uint8 bus,
                        out errval error,
-                       out string child);
+                       out String child[256]);
 
-    rpc set_device_irq(in string handle,
+    rpc set_device_irq(in String handle[2048],
                        in uint32 irq,
                        out errval error);
 
@@ -51,7 +51,7 @@ interface acpi "acpi RPC Interface" {
     rpc vtd_remove_device(in uint32 seg, in uint32 bus, in uint32 dev, in uint32 funct, in cap pml4, out errval err);
 
     rpc vtd_id_dom_add_devices(out errval err);
-    
+
     // More Kludge; cap retrieval for pci
     // We need a designated service to maintain the physical address
     // space caps (to avoid sibling errors).
@@ -61,3 +61,4 @@ interface acpi "acpi RPC Interface" {
                                out cap devframe, out errval err);
     rpc mm_free_proxy(in cap devframe, in uint64 base, in uint8 sizebits, out errval err);
 };
+
index 45fe658..75fcf6d 100644 (file)
@@ -9,8 +9,8 @@
 
 interface ahci_mgmt "AHCI Management Daemon" {
 
-    rpc list(out uint8 port_ids[len]);
-    rpc identify(in uint8 port_id, out uint8 identify_data[data_len]);
+    rpc list(out uint8 port_ids[len, 128]);
+    rpc identify(in uint8 port_id, out uint8 identify_data[data_len, 512]);
 
     rpc open(in uint8 port_id, out errval status, out cap controller_mem, out uint64 offset, out uint32 capabilities);
     rpc close(in uint8 port_id, out errval status);
index 0c39156..1425d47 100644 (file)
@@ -8,6 +8,7 @@
  */
 
 interface arrakis "Interface to arrakismon" {
-    rpc spawn_arrakis_domain(in string path, in char argvbuf[argvbytes],
-       in char envbuf[envbytes], out errval err, out domainid domain_id);
+    rpc spawn_arrakis_domain(in String path[2048], in char argvbuf[argvbytes, 2048],
+       in char envbuf[envbytes, 2048], out errval err, out domainid domain_id);
 };
+
index c890e8b..ef02fce 100644 (file)
 interface ata_rw28 "ATA read & write with 28-bit LBA" {
 
     @ata(command=0xC8, dma_arg=buffer, dma_size=read_size, lba=start_lba)
-    rpc read_dma(in uint32 read_size, in uint32 start_lba, out uint8 buffer[buffer_size]);
+    rpc read_dma(in uint32 read_size, in uint32 start_lba, out uint8 buffer[buffer_size, 2048]);
 
     @ata(command=0xC8, dma_arg=buffer, dma_size=512, lba=lba)
-    rpc read_dma_block(in uint32 lba, out uint8 buffer[buffer_size]);
+    rpc read_dma_block(in uint32 lba, out uint8 buffer[buffer_size, 2048]);
 
     @ata(command=0xCA, dma_arg=buffer, is_write=1, lba=lba)
-    rpc write_dma(in uint8 buffer[buffer_size], in uint32 lba, out errval status);
+    rpc write_dma(in uint8 buffer[buffer_size, 2048], in uint32 lba, out errval status);
 
     @ata(command=0xEC, dma_arg=buffer, dma_size=512)
-    rpc identify_device(out uint8 buffer[buffer_size]);
+    rpc identify_device(out uint8 buffer[buffer_size, 2048]);
 
     @ata(command=0xE7)
     rpc flush_cache(out errval status);
 };
+
index ae9c0c7..e56e64c 100644 (file)
@@ -12,8 +12,9 @@ interface bcache "Buffer cache" {
 
     rpc new_client(out cap bulk);
 
-    rpc get_start(in char key[key_len], out uint64 idx, out bool haveit, out uint64 transid, out uint64 size);
+    rpc get_start(in char key[key_len, 2048], out uint64 idx, out bool haveit, out uint64 transid, out uint64 size);
     rpc get_stop(in uint64 transid, in uint64 idx, in uint64 length);
 
     rpc print_stats();
 };
+
index 77dd899..79a4232 100644 (file)
@@ -27,8 +27,8 @@ interface bench "The bench Interface" {
         message fsb_init_msg(uint8 coreid);
        message fsb_empty_request();
        message fsb_empty_reply();
-       message fsb_buffer_request(uint8 buf[size]);
-       message fsb_buffer_reply(uint8 buf[size]);
+       message fsb_buffer_request(uint8 buf[size, 2048]);
+       message fsb_buffer_reply(uint8 buf[size, 2048]);
 
        message fsb_payload_request(int word0, int word1, int word2, int word3);
        message fsb_payload_reply(int word0, int word1, int word2, int word3);
@@ -106,3 +106,4 @@ interface bench "The bench Interface" {
        message shmc_start();
        message shmc_done();
 };
+
index 491caf4..afdb859 100644 (file)
--- a/if/bfs.if
+++ b/if/bfs.if
@@ -52,8 +52,8 @@ typedef enum {
  * --------
  * The storage server implements a log-structured data store,
  * from which data can be read or written in terms of chunks.
- * A chunk is a block of data of a specific size with a 
- * unique ID.  A client or directory server can read or 
+ * A chunk is a block of data of a specific size with a
+ * unique ID.  A client or directory server can read or
  * write chunks from the storage by passing the ID of the chunk.
  */
 
@@ -133,14 +133,14 @@ rpc ns_unlock(in object_key object, out errval err);
 rpc ds_create(
     in  OBJECT_TYPE         ob_type,
     in  OBJECT_ACCESS_PERM  ob_perm,
-    in  string              ob_name,
+    in  String              ob_name[2048],
     in  uint64              client_id,
     out object_key          object);
 
-rpc ds_open(        
+rpc ds_open(
     in  OBJECT_TYPE         ob_type,
     in  OBJECT_ACCESS_PERM  ob_perm,
-    in  string              ob_name,
+    in  String              ob_name[2048],
     in  uint64             client_id,
     out object_key          object);
 
@@ -154,14 +154,13 @@ message ds_invalidate_cache(object_key object);
  * -----------------------------------------------
  * XXX TO DO: make the maintenance of replicated state
  * be implicit via a consensus protocol.
- * 
+ *
  * Name server can broadcast current list of servers
  * to all SS and DS servers in the system.  This is a
  * one-way notification.
  */
-message ss_notify_registered_servers(
-       uint64   server);
-message ds_notify_registered_servers(
-       uint64   server);
+message ss_notify_registered_servers(uint64 server);
+message ds_notify_registered_servers(uint64 server);
 
 };
+
index ed7f2d9..61f6d7f 100644 (file)
@@ -83,13 +83,13 @@ interface bulk_ctrl "bulk control channel interface" {
  *  tid is a transaction id, used to mark which request a given reply belongs to
  *
  */
+
     /*
     rpc move(in poolid poolid,
              in  uint32     bufferid,
              in  uint32     tid,
              in  cap        cap,
-             in  uint8      meta[metasize],
+             in  uint8      meta[metasize, 2048],
              out error      error,
              out uint32     tid);
     */
@@ -98,12 +98,12 @@ interface bulk_ctrl "bulk control channel interface" {
                                 uint32     bufferid,
                                 uint32     tid,
                                 cap        cap,
-                                uint8      meta[metasize]);
+                                uint8      meta[metasize, 2048]);
 
     message move_trusted_call(poolid poolid,
                               uint32     bufferid,
                               uint32     tid,
-                              uint8      meta[metasize]);
+                              uint8      meta[metasize, 2048]);
 
 
     message move_response(error      error,
@@ -114,7 +114,7 @@ interface bulk_ctrl "bulk control channel interface" {
              in  uint32     bufferid,
              in  uint32     tid,
              in  cap        cap,
-             in  uint8      meta[metasize],
+             in  uint8      meta[metasize, 2048],
              out error      error,
              out uint32     tid);
     */
@@ -123,12 +123,12 @@ interface bulk_ctrl "bulk control channel interface" {
                                 uint32     bufferid,
                                 uint32     tid,
                                 cap        cap,
-                                uint8      meta[metasize]);
+                                uint8      meta[metasize, 2048]);
 
     message copy_trusted_call(poolid     poolid,
                               uint32     bufferid,
                               uint32     tid,
-                              uint8      meta[metasize]);
+                              uint8      meta[metasize, 2048]);
 
 
     message copy_response(error      error,
@@ -139,7 +139,7 @@ interface bulk_ctrl "bulk control channel interface" {
              in  uint32     bufferid,
              in  uint32     tid,
              in  cap        cap,
-             in  uint8      meta[metasize],
+             in  uint8      meta[metasize, 2048],
              out error      error,
              out uint32     tid);
     */
@@ -148,12 +148,12 @@ interface bulk_ctrl "bulk control channel interface" {
                                 uint32     bufferid,
                                 uint32     tid,
                                 cap        cap,
-                                uint8      meta[metasize]);
+                                uint8      meta[metasize, 2048]);
 
     message pass_trusted_call(poolid     poolid,
                               uint32     bufferid,
                               uint32     tid,
-                              uint8      meta[metasize]);
+                              uint8      meta[metasize, 2048]);
 
     message pass_response(error      error,
                           uint32     tid);
@@ -173,3 +173,4 @@ interface bulk_ctrl "bulk control channel interface" {
     message release_response(error       error,
                              uint32      tid);
 };
+
index 0eb8867..1ac1144 100644 (file)
@@ -8,12 +8,13 @@
  */
 
 interface bulkbench "Bulk benchmark Interface" {
-       message bulk_init(cap shared_mem);
-       message bulk_init_reply();
+    message bulk_init(cap shared_mem);
+    message bulk_init_reply();
 
-       message message_request(uint8 msg[size]);
-       message message_reply();
+    message message_request(uint8 msg[size, 2048]);
+    message message_reply();
 
-       message bulk_message_request(uint64 id, uint64 size, uint8 last_fragment);
-        message bulk_message_reply(uint64 id, uint8 last_fragment);
+    message bulk_message_request(uint64 id, uint64 size, uint8 last_fragment);
+    message bulk_message_reply(uint64 id, uint8 last_fragment);
 };
+
index f326d52..0b8ba69 100644 (file)
@@ -9,9 +9,10 @@
 
 interface dist_event "dist2 Publish/Subscribe Events" {
     message identify(uint64 id);
-    
-    message subscribed_message(uint64 id, string record);
-    message watch_event(uint64 id, string record);
-    
-    message trigger(uint64 id, string record);
+
+    message subscribed_message(uint64 id, String record[2048]);
+    message watch_event(uint64 id, String record[2048]);
+
+    message trigger(uint64 id, String record[2048]);
 };
+
index 26f7a5f..dbdb1b3 100644 (file)
@@ -102,7 +102,7 @@ interface intermon "The Interface between monitors" {
     // Resource control
     message rsrc_join(rsrcid id, coreid coreid);
     message rsrc_join_complete(rsrcid id);
-    message rsrc_phase_data(rsrcid id, uint32 phase, uint8 data[len]);
+    message rsrc_phase_data(rsrcid id, uint32 phase, uint8 data[len, 2048]);
     message rsrc_timer_sync(uint64 timestamp);
     message rsrc_timer_sync_reply(errval err);
 
@@ -119,10 +119,10 @@ interface intermon "The Interface between monitors" {
     message multihop_routing_table_response(errval err,
             coreid source_coreid,
             coreid max_coreid,
-            coreid to[len]);
+            coreid to[len, 2048]);
 
     // grow the routing table to a set of desination cores, via a given forwarder
-    message multihop_routing_table_grow(coreid forwarder, coreid destinations[len]);
+    message multihop_routing_table_grow(coreid forwarder, coreid destinations[len, 2048]);
 
     // set up a new multihop virtual circuit
     message bind_multihop_intermon_request(iref iref, vci sender_vci,
@@ -131,7 +131,7 @@ interface intermon "The Interface between monitors" {
                                          errval err);
 
     message multihop_message(vci vci, uint8 direction, uint8 flags, uint32 ack,
-                             uint8 payload[size]);
+                             uint8 payload[size, 2048]);
     message multihop_cap_send(vci vci, uint8 direction, capid capid, errval err,
                               caprep cap, bool null_cap, coreid owner);
 
@@ -200,3 +200,4 @@ interface intermon "The Interface between monitors" {
     message forward_kcb_rm_request(uint64 kcb_base);
     message forward_kcb_rm_response(errval err);
 };
+
index 9bd04fc..33fb889 100644 (file)
  */
 
 interface interphi "Interface between host and card side driver" {
-    
-    rpc domain_lookup(in char name[length],
+
+    rpc domain_lookup(in char name[length, 2048],
                       out uint64 domid,
                       out errval msgerr);
-    
-    rpc domain_wait(in char name[length],
+
+    rpc domain_wait(in char name[length, 2048],
                     in uint64 state,
                     out uint64 domid,
                     out uint64 rstate,
                     out errval msgerr);
-    
-    rpc domain_register(in char name[length],
+
+    rpc domain_register(in char name[length, 2048],
                         in uint64 domid,
                         out errval msgerr);
-    
+
     /**
      * \
      */
-    rpc spawn(in uint8 core, 
-              in char cmdline[length],
+    rpc spawn(in uint8 core,
+              in char cmdline[length, 2048],
               in uint8 flags,
               out uint64 domainid,
               out errval msgerr);
-    
+
     /**
-     * 
+     *
      */
-    rpc spawn_with_cap(in uint8 core, 
-                       in char cmdline[length],
+    rpc spawn_with_cap(in uint8 core,
+                       in char cmdline[length, 2048],
                        in uint8 flags,
                        in uint64 cap_base,
                        in uint8 cap_size_bits,
                        out uint64 domainid,
                        out errval msgerr);
-    
+
     /**
-     * 
+     *
      */
-    rpc kill(in uint64 domainid, 
+    rpc kill(in uint64 domainid,
              out errval msgerr);
-    
-    
+
+
     /**
-     * 
+     *
      */
     rpc bootstrap(in uint64 base,
                   in uint64 offset,
@@ -63,7 +63,7 @@ interface interphi "Interface between host and card side driver" {
                   in uint8 xid,
                   in uint8 is_client,
                   out errval msgerr);
-    
+
     rpc chan_open(in uint64 source_did,
                   in uint64 target_did,
                   in uint64 usrdata,
@@ -74,16 +74,16 @@ interface interphi "Interface between host and card side driver" {
     /*
      * host driver only
      */
-    
-    
-    rpc register(in uint8 id, 
+
+
+    rpc register(in uint8 id,
                  in uint64 local_apt_base,
-                 in uint64 local_apt_size, 
-                 out errval msgerr, 
+                 in uint64 local_apt_size,
+                 out errval msgerr,
                  out uint64 other_apt_base,
                  out uint64 other_apt_size);
-    
-    rpc bootstrap_remote(in uint64 base, 
-                         in uint8 bits, 
-                         out errval msgerr); 
-};
\ No newline at end of file
+
+    rpc bootstrap_remote(in uint64 base,
+                         in uint8 bits,
+                         out errval msgerr);
+};
index 9701902..4df4ad5 100644 (file)
@@ -161,7 +161,7 @@ interface monitor "The monitor to client Interface" {
     message multihop_routing_table_new(coreid max_coreid, coreid nentries);
     // Subsequent messages (repeated) which each contain
     // a portion of the routing table from a single core
-    message multihop_routing_table_set(coreid from, coreid to[len]);
+    message multihop_routing_table_set(coreid from, coreid to[len, 128]);
 
     // Connection set-up between monitor and client
     message multihop_bind_client_request(iref iref, vci sender_vci);
@@ -175,7 +175,7 @@ interface monitor "The monitor to client Interface" {
 
     // user message
     message multihop_message(vci vci, uint8 direction, uint8 flags, uint32 ack,
-                             uint8 payload[size]);
+                             uint8 payload[size, 256]);
 
     // cap transfer
     message multihop_cap_send(vci vci, uint8 direction, errval err, cap cap,
index fdbadeb..4e3c802 100644 (file)
@@ -39,7 +39,7 @@ interface monitor_blocking "The monitor to client RPC interface" {
     rpc get_irq_dest_cap(out cap io, out errval err);
 
     // Resource control
-    rpc rsrc_manifest(in cap dispatcher, in string manifest,
+    rpc rsrc_manifest(in cap dispatcher, in String manifest[2048],
             out rsrcid id, out errval err);
     rpc rsrc_join(in rsrcid id, in cap dispatcher, out errval err);
     rpc rsrc_phase(in rsrcid id, in uint32 phase);
index 8b3907d..99d189e 100644 (file)
@@ -28,8 +28,8 @@ interface octopus "octopus RPC Interface" {
     //
     rpc get_identifier(out uint64 id);
     rpc identify(in uint64 id, in binding_type type);
-    
-    
+
+
     //
     // Get/Set API
     //
@@ -37,13 +37,13 @@ interface octopus "octopus RPC Interface" {
     /**
      * \param query Records to find.
      * \param t Additional trigger to watch for future events.
-     * \param output Comma separated string of record names or NULL on error.
+     * \param output Comma separated String of record names or NULL on error.
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request.
      */
-    rpc get_names(in string query, in trigger t, out string output,
+    rpc get_names(in String query[2048], in trigger t, out String output[2048],
                   out trigger_id tid, out errval error_code);
-    
+
     /**
      * \param query Record to find.
      * \param t Additional trigger to watch for future events.
@@ -51,21 +51,21 @@ interface octopus "octopus RPC Interface" {
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request.
      */
-    rpc get(in string query, in trigger t, out string output,
+    rpc get(in String query[2048], in trigger t, out String output[2048],
             out trigger_id tid, out errval error_code);
-        
+
     /**
      * \param query Record to set.
      * \param mode Set mode (see getset.h).
      * \param t Additional trigger to watch for future events.
      * \param get Return record if it has been set.
-     * \param record In case get is true and no error_code is ok 
+     * \param record In case get is true and no error_code is ok
      * contains record, otherwise NULL
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request
      */
-    rpc set(in string query, in uint64 mode, in trigger t, in bool get,
-            out string record, out trigger_id tid, out errval error_code);
+    rpc set(in String query[2048], in uint64 mode, in trigger t, in bool get,
+            out String record[2048], out trigger_id tid, out errval error_code);
 
     /**
      * Find a record using an ID capability as the key/name of the record.
@@ -76,7 +76,7 @@ interface octopus "octopus RPC Interface" {
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request.
      */
-    rpc get_with_idcap(in cap idcap, in trigger t, out string output,
+    rpc get_with_idcap(in cap idcap, in trigger t, out String output[2048],
                        out trigger_id tid, out errval error_code);
 
     /**
@@ -92,28 +92,28 @@ interface octopus "octopus RPC Interface" {
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request
      */
-    rpc set_with_idcap(in cap idcap, in string attributes, in uint64 mode,
-                       in trigger t, in bool get, out string record,
+    rpc set_with_idcap(in cap idcap, in String attributes[2048], in uint64 mode,
+                       in trigger t, in bool get, out String record[2048],
                        out trigger_id tid, out errval error_code);
-    
+
     /**
      * \param query Record(s) to delete.
      * \param t Additional trigger to watch for future events.
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request
      */
-    rpc del(in string query, in trigger t, out trigger_id tid,
+    rpc del(in String query[2048], in trigger t, out trigger_id tid,
             out errval error_code);
-    
+
     /**
      * \param query
      * \param t Additional trigger to watch for future events.
      * \param tid Id of registered trigger (0 in case no trigger registered).
      * \param error_code Error value of request.
      */
-    rpc exists(in string query, in trigger t, out trigger_id tid,
+    rpc exists(in String query[2048], in trigger t, out trigger_id tid,
                out errval error_code);
-    
+
     /**
      * \brief Blocks until a record matching the provided query is registered.
      *
@@ -127,12 +127,12 @@ interface octopus "octopus RPC Interface" {
      * \param record
      * \param error_code
      */
-    rpc wait_for(in string query, out string record, out errval error_code);
-    
+    rpc wait_for(in String query[2048], out String record[2048], out errval error_code);
+
     /**
      * \brief Used to remove Triggers in case they are not needed anymore.
      *
-     * Note that non persistent trigger are removed automatically after 
+     * Note that non persistent trigger are removed automatically after
      * they have fired. For persistent triggers be aware that you might
      * still get a notification after the trigger has been removed because
      * trigger events are sent over another binding.
@@ -141,50 +141,50 @@ interface octopus "octopus RPC Interface" {
      * \param error_code Error of operation
      */
     rpc remove_trigger(in uint64 id, out errval error_code);
-    
+
 
     //
     // Publish/Subscribe API
     //
-    
+
     /**
      * \param query
      * \param client_state Additional state supplied by client.
      * \param id Identifier for this subscription supplied by server.
      * \param error_code Status of request.
      */
-    rpc subscribe(in string query, in uint64 trigger_fn, in uint64 state,
+    rpc subscribe(in String query[2048], in uint64 trigger_fn, in uint64 state,
                   out uint64 id, out errval error_code);
-    
+
     /**
      * \param id Id for the subscription
      * \param error_code Status of request
      */
     rpc unsubscribe(in uint64 id, out errval error_code);
-    
+
     /**
      * \param record Message to publish.
      * \param error_code Status of request.
      */
-    rpc publish(in string record, out errval error_code);
+    rpc publish(in String record[2048], out errval error_code);
 
 
     //
     // Async events (sent by server to client)
     //
-    message trigger(trigger_id id, uint64 trigger_fn, mode m, string record,
+    message trigger(trigger_id id, uint64 trigger_fn, mode m, String record[2048],
                     uint64 state);
 
     message subscription(trigger_id id, uint64 trigger_fn, mode m,
-                         string record, uint64 state);
-    
+                         String record[2048], uint64 state);
+
 
     //
     // Backward compability with chips
     //
-    
+
     // Simple capability storage
-    rpc get_cap(in string key, out cap retcap, out errval reterr);
-    rpc put_cap(in string key, in cap storecap, out errval reterr);
-    rpc remove_cap(in string key, out errval reterr);
+    rpc get_cap(in String key[2048], out cap retcap, out errval reterr);
+    rpc put_cap(in String key[2048], in cap storecap, out errval reterr);
+    rpc remove_cap(in String key[2048], out errval reterr);
 };
index 3deca93..5dc1271 100644 (file)
--- a/if/pci.if
+++ b/if/pci.if
@@ -21,7 +21,12 @@ interface pci "The PCI Interface" {
                         in uint32 fun,
                         out errval err,
                         out uint8 nr_allocated_bars, // Number of bars supported
-                        out caps_per_bar caps_per_bar);
+                        out uint32 caps_per_bar0,
+                        out uint32 caps_per_bar1,
+                        out uint32 caps_per_bar2,
+                        out uint32 caps_per_bar3,
+                        out uint32 caps_per_bar4,
+                        out uint32 caps_per_bar5);
 
     /* Init legacy IO device */
     rpc init_legacy_device(in uint16 iomin,
index 4db04fd..338e224 100644 (file)
 interface ping_pong "Ping-Pong async example Interface" {
         // The following messages are used in the test program
 
-       message rsrc_join_request(uint32 id);
-       message rsrc_join_reply();
-       message init();
-       message ping(uint64 val);
-       message pong(uint64 val);
+    message rsrc_join_request(uint32 id);
+    message rsrc_join_reply();
+    message init();
+    message ping(uint64 val);
+    message pong(uint64 val);
 
        message slow_op(uint64 val);
        message slow_reply(uint64 val);
 
-        message stop();
-
-        rpc testrpc(in uint64 testin, out uint64 testout);
-        rpc testrpc2(in uint64 testin, out uint64 testout);
-
-        rpc outoforder(in uint64 seq_in,
-                       out uint64 seq_out,
-                       in uint64 testin,
-                       out uint64 testout);
-
-        // The following messages are not used in practice, but
-        // exercise the THC Flounder back-end
-
-        message str0(uint32 arg1, string s);
-        message str1(uint32 arg1, string s);
-        message str2(uint32 arg1, string s);
-        rpc str3(in uint32 arg1, in string s);
-        rpc str4(out uint32 arg1, out string s);
-        rpc str5(in uint64 seq_in,
-                 out uint64 seq_out,
-                 in uint32 arg1, in string s);
-        rpc str6(in uint64 seq_in,
-                 out uint64 seq_out,
-                 out uint32 arg1, out string s);
-
-        message arr0(uint32 arg1, char a[l]);
-        message arr1(uint32 arg1, char a[l]);
-        message arr2(uint32 arg1, char a[l]);
+    message stop();
+
+    rpc testrpc(in uint64 testin, out uint64 testout);
+    rpc testrpc2(in uint64 testin, out uint64 testout);
+
+    rpc outoforder(in uint64 seq_in,
+                   out uint64 seq_out,
+                   in uint64 testin,
+                   out uint64 testout);
+
+    // The following messages are not used in practice, but
+    // exercise the THC Flounder back-end
+
+    message str0(uint32 arg1, String s[2048]);
+    message str1(uint32 arg1, String s[2048]);
+    message str2(uint32 arg1, String s[2048]);
+    rpc str3(in uint32 arg1, in String s[2048]);
+    rpc str4(out uint32 arg1, out String s[2048]);
+    rpc str5(in uint64 seq_in,
+             out uint64 seq_out,
+             in uint32 arg1, in String s[2048]);
+    rpc str6(in uint64 seq_in,
+             out uint64 seq_out,
+             out uint32 arg1, out String s[2048]);
+
+    message arr0(uint32 arg1, char a[l, 2048]);
+    message arr1(uint32 arg1, char a[l, 2048]);
+    message arr2(uint32 arg1, char a[l, 2048]);
 };
index 609a271..479a67a 100644 (file)
@@ -24,7 +24,7 @@ interface rcce "The RCCE Interface" {
 
        message error_reply(errval err, uint64 state);
 
-       message message_request(uint16 coreid, uint8 msg[size]);
+       message message_request(uint16 coreid, uint8 msg[size, 2048]);
        message message_reply(uint16 coreid);
 
        message bulk_message_request(uint16 coreid, uint64 id, uint64 size,
index b7aeda6..056129c 100644 (file)
@@ -8,7 +8,7 @@
  */
 
 interface serial "Serial characters" {
-    message output(char data[len]);
-    message input(char data[len]);
+    message output(char data[len, 128]);
+    message input(char data[len, 128]);
     message associate_stdin();
 };
index 78c157a..e312384 100644 (file)
--- a/if/skb.if
+++ b/if/skb.if
@@ -8,24 +8,23 @@
  */
 
 interface skb "SKB RPC Interface" {
-    rpc run( in  string input,
-            out string output,
-                out string str_error,
-                out int    int_error);
+    rpc run( in  String input[2048],
+             out String output[4096],
+             out String str_error[512],
+             out int    int_error);
 
-  
     /*  Used by dist2 library (move in extra interface?) */
     rpc get_identifier(out uint64 id);
     rpc identify(in uint64 id);
     
-       rpc get(in string query, out string output, out string error, out errval error_code);
-       rpc set(in string input, out string error, out errval error_code);
-       rpc del(in string query, out errval error_code);
-       
-    rpc subscribe(in string query, in uint64 id, out errval err);
+    rpc get(in String query[2048], out String output[2048], out String error[2048], out errval error_code);
+    rpc set(in String input[2048], out String error[2048], out errval error_code);
+    rpc del(in String query[2048], out errval error_code);
+
+    rpc subscribe(in String query[2048], in uint64 id, out errval err);
     rpc unsubscribe(in uint64 id, out errval err);
-    rpc publish(in string object, out errval err);
+    rpc publish(in String object[2048], out errval err);
 
-    rpc lock(in string object, out errval err);
-    rpc unlock(in string object, out errval err);
+    rpc lock(in String object[2048], out errval err);
+    rpc unlock(in String object[2048], out errval err);
 };
index 2c2e4aa..1a2f38b 100644 (file)
@@ -12,11 +12,11 @@ interface spawn "Interface to spawn domains" {
     uint8 status;
     } ps_entry;
 
-    rpc spawn_domain(in string path, in char argvbuf[argvbytes], in char envbuf[envbytes],
+    rpc spawn_domain(in String path[2048], in char argvbuf[argvbytes, 2048], in char envbuf[envbytes, 2048],
                      in uint8 flags, out errval err, out domainid domain_id);
 
-    rpc spawn_domain_with_caps(in string path, in char argvbuf[argvbytes],
-                               in char envbuf[envbytes], in cap inheritcn_cap,
+    rpc spawn_domain_with_caps(in String path[2048], in char argvbuf[argvbytes, 2048],
+                               in char envbuf[envbytes, 2048], in cap inheritcn_cap,
                                in cap argcn_cap, in uint8 flags, out errval err,
                                out domainid domain_id);
 
@@ -32,9 +32,9 @@ interface spawn "Interface to spawn domains" {
     rpc wait(in domainid domain_id, in bool nohang, out uint8 exitcode, out errval err);
 
     // XXX: Should be domainid instead of uint8, but it's not yet supported
-    rpc get_domainlist(out uint8 domains[len]);
+    rpc get_domainlist(out uint8 domains[len, 2048]);
 
-    rpc status(in domainid domain_id, out ps_entry ps_entry, out char argv[len],
+    rpc status(in domainid domain_id, out ps_entry ps_entry, out char argv[len, 2048],
               out errval err);
 
     // Capability debugging
index daf6efb..87631d8 100644 (file)
@@ -16,5 +16,5 @@ interface terminal "Unidirectional character stream." {
      * \param buffer Buffer holding characters.
      * \param length Amount of characters in the buffer.
      */
-    message characters(char buffer[length]);
+    message characters(char buffer[length, 2048]);
 };
index df52095..2622eab 100644 (file)
@@ -17,7 +17,7 @@ interface terminal_config "Terminal Configuration Interface" {
      * \param opt Configuration option.
      * \param argument Optional argument. Interpretation depends on opt.
      */
-    message configuration(option opt, string argument);
+    message configuration(option opt, String argument[2048]);
 
     /**
      * \brief Signals that a client wants to teardown a connection.
index 1e867c0..676e02b 100644 (file)
@@ -9,7 +9,7 @@
 
 interface test "Test interface" {
         message basic(uint32 arg);
-        message str(uint32 arg, string s);
+        message str(uint32 arg, String s[2048]);
         message caps(uint32 arg, cap cap1, cap cap2);
-        message buf(uint8 buf[buflen]);
+        message buf(uint8 buf[buflen, 2048]);
 };
index f63123b..63ef6bd 100644 (file)
@@ -22,10 +22,10 @@ interface trivfs "Trivial file system interface" {
     // read the name/type/size of the i'th entry in the given directory
     // (yes, there's no protection against concurrent addition/deletion)
     rpc readdir(in fh dir, in uint32 idx,
-                out errval err, out string name, out bool isdir, out fsize size);
+                out errval err, out String name[2048], out bool isdir, out fsize size);
 
     // look for a named entry in the given directory, return the fh if found
-    rpc lookup(in fh dir, in string name,
+    rpc lookup(in fh dir, in String name[2048],
                out errval err, out fh fh, out bool isdir);
 
     // return the type/size of the given fh
@@ -34,8 +34,8 @@ interface trivfs "Trivial file system interface" {
 
     // read/write: fairly straightforward
     rpc read(in fh file, in offset offset, in fsize maxlen,
-             out errval err, out uint8 data[retlen]);
-    rpc write(in fh file, in offset offset, in uint8 data[len],
+             out errval err, out uint8 data[retlen, 2048]);
+    rpc write(in fh file, in offset offset, in uint8 data[len, 2048],
               out errval err);
 
     // read/write using bulk data
@@ -49,11 +49,11 @@ interface trivfs "Trivial file system interface" {
                  out errval err);
 
     // create a new file in the given directory, fail if it already exists
-    rpc create(in fh dir, in string name,
+    rpc create(in fh dir, in String name[2048],
                out errval err, out fh fh);
 
     // create a new subdirectory in the given directory
-    rpc mkdir(in fh dir, in string name,
+    rpc mkdir(in fh dir, in String name[2048],
               out errval err, out fh fh);
 
     // delete a file or directory
index eaccdda..04cc2c0 100644 (file)
@@ -8,5 +8,5 @@
  */
 
 interface unixsock "UNIX socket" {
-         message send(uint8 msg[size]);
+         message send(uint8 msg[size, 2048]);
 };
index 2c62953..0c58297 100644 (file)
@@ -9,7 +9,7 @@
 
 
 interface usb_driver "USB Drive Interface" {
-    
+
     message device_detach_notify();
-    message transfer_done_notify(uint32 tid, uint32 error, uint8 data[length]);
-};
\ No newline at end of file
+    message transfer_done_notify(uint32 tid, uint32 error, uint8 data[length, 2048]);
+};
index 94ca1e9..f2dac96 100644 (file)
@@ -9,7 +9,7 @@
 
 
 interface usb_manager "USB Manager Interface" {
-    
+
     /* transfer setup parameters, keep in sync with struct usb_transfer_setup */
     typedef struct {
  uint32 max_bytes;             ///< maximum bytes to to transfer
@@ -22,75 +22,75 @@ interface usb_manager "USB Manager Interface" {
     uint8 endpoint;               ///< the associated endpoint of the transfer
     uint8 iface;              ///< the itnerface to use
     } setup_param;
-    
-    /* 
+
+    /*
      * ----------------------------------------------------------------------
      * connecting to the USB manager
-     * ---------------------------------------------------------------------- 
+     * ----------------------------------------------------------------------
      */
-    
-    rpc connect(in iref driver_iref, in uint16 init_config, out uint32 ret_error, out uint8 ret_desc[length]);
+
+    rpc connect(in iref driver_iref, in uint16 init_config, out uint32 ret_error, out uint8 ret_desc[length, 2048]);
 
     rpc device_disconnect_notify();
-    
 
-    /* 
+
+    /*
      * ----------------------------------------------------------------------
      * Request handling
-     * ---------------------------------------------------------------------- 
+     * ----------------------------------------------------------------------
      */
-     
-    rpc request_read(in uint8 request[req_length], 
-                            out uint8 data[data_length], 
+
+    rpc request_read(in uint8 request[req_length, 2048],
+                            out uint8 data[data_length, 2048],
                             out uint32 ret_status);
-                            
-    rpc request_write(in uint8 request[req_length], 
-                            in uint8 data[data_length],
+
+    rpc request_write(in uint8 request[req_length, 2048],
+                            in uint8 data[data_length, 2048],
                             out uint32 ret_status);
-                            
-    rpc request(in uint8 request[req_length], out uint32 ret_status);
-    
-    
-    /* 
+
+    rpc request(in uint8 request[req_length, 2048], out uint32 ret_status);
+
+
+    /*
      * ----------------------------------------------------------------------
      * transfer management
-     * ---------------------------------------------------------------------- 
+     * ----------------------------------------------------------------------
      */
-        
-    rpc transfer_setup(in uint8 type, in setup_param params, 
-                       out uint32 ret_error, out uint32 ret_tid);  
-    
+
+    rpc transfer_setup(in uint8 type, in setup_param params,
+                       out uint32 ret_error, out uint32 ret_tid);
+
     rpc transfer_unsetup(in uint32 tid, out uint32 ret_error);
-    
+
     rpc transfer_start(in uint32 tid, out uint32 ret_error);
-    
+
     rpc transfer_stop(in uint32 tid, out uint32 ret_error);
-      
-    rpc transfer_status(in uint32 tid, out uint32 ret_error, 
-                        out uint32 ret_actlen, out uint32 ret_length, 
+
+    rpc transfer_status(in uint32 tid, out uint32 ret_error,
+                        out uint32 ret_actlen, out uint32 ret_length,
                         out uint32 ret_actframes, out uint32 ret_numframes);
-    
+
     rpc transfer_state(in uint32 tid, out uint32 ret_error, out uint32 ret_state);
-    
+
     rpc transfer_clear_stall(in uint32 tid, out uint32 ret_error);
-    
-    rpc transfer_done_notify(out uint32 tid, out uint32 error, out uint8 data[length]);
-    
-    /* 
+
+    rpc transfer_done_notify(out uint32 tid, out uint32 error, out uint8 data[length, 2048]);
+
+    /*
      * ----------------------------------------------------------------------
      * device management
-     * ---------------------------------------------------------------------- 
+     * ----------------------------------------------------------------------
      */
-     
+
      rpc device_get_speed(out uint8 ret_speed);
-     
+
      rpc device_get_state(out uint8 ret_state);
-     
+
      rpc device_suspend(out uint32 ret_error);
-     
+
      rpc device_resume(out uint32 ret_error);
-     
+
      rpc device_powersave(in uint8 powerstate, out uint32 ret_error);
-     
-     
-};
\ No newline at end of file
+
+
+};
index 7627b61..3f7b6bb 100644 (file)
  */
 
 interface xeon_phi "Xeon Phi Messaging Interface" {
-    
-    rpc domain_lookup(in char name[length],
+
+    rpc domain_lookup(in char name[length, 2048],
                       out uint64 domid,
                       out errval msgerr);
-    
-    rpc domain_wait(in char name[length],
+
+    rpc domain_wait(in char name[length, 2048],
                     out uint64 domid,
                     out errval msgerr);
-    
-    rpc domain_register(in char name[length],
+
+    rpc domain_register(in char name[length, 2048],
                        in uint64 domid,
                        out errval msgerr);
-                    
-    rpc domain_init(in domainid domain, 
+
+    rpc domain_init(in domainid domain,
                                in coreid core,
-                    in char name[length],
+                    in char name[length, 2048],
                     out errval msgerr);
-    
+
     /*
      * Spawning of Domains
-     */    
-    
+     */
+
     /**
      * \
      */
-    rpc spawn(in uint8 xid, 
-              in uint8 core, 
-              in char cmdline[length],
+    rpc spawn(in uint8 xid,
+              in uint8 core,
+              in char cmdline[length, 2048],
               in uint8 flags,
               out uint64 domainid,
               out errval msgerr);
-    
-    rpc spawn_with_cap(in uint8 xid, 
-                       in uint8 core, 
-                       in char cmdline[length],
+
+    rpc spawn_with_cap(in uint8 xid,
+                       in uint8 core,
+                       in char cmdline[length, 2048],
                        in uint8 flags,
                        in cap capability,
                        out uint64 domainid,
                        out errval msgerr);
-    
+
     rpc kill(in uint8 xid,
-             in uint64 domainid, 
+             in uint64 domainid,
              out errval msgerr);
-    
-    
-    rpc chan_open_request(in uint8 xphi, 
-                          in cap msgframe, 
-                          in uint8 type, 
+
+
+    rpc chan_open_request(in uint8 xphi,
+                          in cap msgframe,
+                          in uint8 type,
                           in uint64 domain,
                           in uint64 usrdata,
                           out errval msgerr);
-    
 
-    
+
+
     rpc chan_open(in uint64 domain,
                          in uint64 usrdata,
-                  in cap msgframe, 
+                  in cap msgframe,
                   in uint8 type,
                   out errval msgerr);
 
-};
\ No newline at end of file
+};
index c016aca..7b2e942 100644 (file)
@@ -13,5 +13,5 @@
 
 interface xmplcr "Example call reply interface" {
     message mycall(int i);
-    message myresponse(string s);
-};
\ No newline at end of file
+    message myresponse(String s[2048]);
+};
index 6326584..e72c6e3 100644 (file)
@@ -13,5 +13,5 @@
 
 interface xmplmsg "Example message interface" {
          message msg_ints(int i, int j);
-         message msg_string(string s);
-};
\ No newline at end of file
+         message msg_string(String s[2048]);
+};
index 067c23f..889a24d 100644 (file)
@@ -12,5 +12,5 @@
  */
 
 interface xmplrpc "Example rpc interface" {
-         rpc myrpc(in int i, out string s);
-};
\ No newline at end of file
+    rpc myrpc(in int i, out String s[2048]);
+};
index 4f6c628..80f9375 100644 (file)
@@ -1,5 +1,5 @@
 /** \file
- *  \brief Example interface for use with thc 
+ *  \brief Example interface for use with thc
  */
 
 /*
@@ -14,6 +14,6 @@
 interface xmplthc "Example thc interface" {
     message mymsg(int i);
     message mycall(int i);
-    message myresponse(string s);
-    rpc myrpc(in int i, out string s);
+    message myresponse(String s[2048]);
+    rpc myrpc(in int i, out String s[2048]);
 };
index 3fade93..a594142 100644 (file)
@@ -45,7 +45,7 @@ interface xomp "Xeon Phi openMP interface" {
                       in uint8  direction,
                       in uint64 state,
                       out errval msg_err,
-                      out uint64 state);
+                      out uint64 out_state);
 
     /**
      * \brief notifies the worker domain to obtain memory from the local