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

[Xen-changelog] Add sxpr function for installing a new type.



ChangeSet 1.1159.267.7, 2005/03/17 16:29:49+00:00, mjw@xxxxxxxxxxxxxxxxxxx

        Add sxpr function for installing a new type.
        
        Signed-off-by: Mike Wray <mike.wray@xxxxxx>



 sxpr.c |   24 ++++++++++++++++++++++++
 sxpr.h |    1 +
 2 files changed, 25 insertions(+)


diff -Nru a/tools/libxutil/sxpr.c b/tools/libxutil/sxpr.c
--- a/tools/libxutil/sxpr.c     2005-03-25 07:03:34 -05:00
+++ b/tools/libxutil/sxpr.c     2005-03-25 07:03:34 -05:00
@@ -82,6 +82,30 @@
 /** Number of entries in the types array. */
 static int type_sup = sizeof(types)/sizeof(types[0]);
 
+/** Define a type.
+ * The tydef must have a non-zero type code.
+ * It is an error if the type code is out of range or already defined.
+ *
+ * @param tydef type definition
+ * @return 0 on success, error code otherwise
+ */
+int def_sxpr_type(SxprType *tydef){
+    int err = 0;
+    int ty = tydef->type;
+    if(ty < 0 || ty >= type_sup){
+        err = -EINVAL;
+        goto exit;
+    }
+    if(types[ty].type){
+        err = -EEXIST;
+        goto exit;
+    }
+    types[ty] = *tydef;
+  exit:
+    return err;
+    
+}
+
 /** Get the type definition for a given type code.
  *
  * @param ty type code
diff -Nru a/tools/libxutil/sxpr.h b/tools/libxutil/sxpr.h
--- a/tools/libxutil/sxpr.h     2005-03-25 07:03:34 -05:00
+++ b/tools/libxutil/sxpr.h     2005-03-25 07:03:34 -05:00
@@ -307,6 +307,7 @@
 } SxprType;
 
 
+extern int def_sxpr_type(SxprType *tydef);
 extern SxprType *get_sxpr_type(int ty);
 
 /** Free the pointer in an sxpr.


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.