added send and recv builtins

This commit is contained in:
cozis
2021-12-04 21:02:50 +01:00
parent 57c0d7c910
commit 014287509a
5 changed files with 106 additions and 3 deletions
+15
View File
@@ -48,6 +48,21 @@ Object *Object_NewBuffer(int size, Heap *heap, Error *error)
return (Object*) obj;
}
void *Object_GetBufferAddrAndSize(Object *obj, int *size, Error *error)
{
if(obj->type != &t_buffer)
{
Error_Report(error, 0, "Not a buffer");
return NULL;
}
BufferObject *buf = (BufferObject*) obj;
if(size)
*size = buf->size;
return buf->body;
}
static Object *select(Object *self, Object *key, Heap *heap, Error *error)
{
assert(self != NULL);
+1
View File
@@ -72,6 +72,7 @@ const Type* Object_GetType(const Object *obj);
const char* Object_GetName(const Object *obj);
unsigned int Object_GetSize(const Object *obj, Error *err);
unsigned int Object_GetDeepSize(const Object *obj, Error *err);
void *Object_GetBufferAddrAndSize(Object *obj, int *size, Error *error);
int Object_Hash (Object *obj, Error *err);
Object* Object_Copy (Object *obj, Heap *heap, Error *err);
Object* Object_Call (Object *obj, Object **argv, unsigned int argc, Heap *heap, Error *err);