Element HAL sturct, script side getters

Change-Id: If98dd4c22bce58dca2c9739c8aee935a2dd0b493
diff --git a/scriptc/rs_allocation.rsh b/scriptc/rs_allocation.rsh
index 1cb3a99..4d62bfb 100644
--- a/scriptc/rs_allocation.rsh
+++ b/scriptc/rs_allocation.rsh
@@ -168,5 +168,29 @@
 extern const void * __attribute__((overloadable))
     rsGetElementAt(rs_allocation, uint32_t x, uint32_t y, uint32_t z);
 
+extern const rs_element __attribute__((overloadable))
+    rsAllocationGetElement(rs_allocation);
+
+extern const uint32_t __attribute__((overloadable))
+    rsMeshGetVertexAllocationCount(rs_mesh);
+
+extern const uint32_t __attribute__((overloadable))
+    rsMeshGetPrimitiveCount(rs_mesh);
+
+extern const uint32_t __attribute__((overloadable))
+    rsMeshGetVertexAllocationCount(rs_mesh);
+
+extern const rs_allocation __attribute__((overloadable))
+    rsMeshGetVertexAllocation(rs_mesh, uint32_t index);
+
+extern const uint32_t __attribute__((overloadable))
+    rsMeshGetPrimitiveCount(rs_mesh);
+
+extern const rs_allocation __attribute__((overloadable))
+    rsMeshGetIndexAllocation(rs_mesh, uint32_t index);
+
+extern const rs_primitive __attribute__((overloadable))
+    rsMeshGetPrimitive(rs_mesh, uint32_t index);
+
 #endif
 
diff --git a/scriptc/rs_types.rsh b/scriptc/rs_types.rsh
index a01807e..5c468bf 100644
--- a/scriptc/rs_types.rsh
+++ b/scriptc/rs_types.rsh
@@ -400,6 +400,15 @@
     RS_ALLOCATION_USAGE_GRAPHICS_RENDER_TARGET = 0x0010
 } rs_allocation_usage_type;
 
+typedef enum {
+    RS_PRIMITIVE_POINT,
+    RS_PRIMITIVE_LINE,
+    RS_PRIMITIVE_LINE_STRIP,
+    RS_PRIMITIVE_TRIANGLE,
+    RS_PRIMITIVE_TRIANGLE_STRIP,
+    RS_PRIMITIVE_TRIANGLE_FAN
+} rs_primitive;
+
 #endif //defined(RS_VERSION) && (RS_VERSION >= 14)
 
 #endif