diff dyncallback/dyncall_callback_sparc64.c @ 191:2f7a7f3472cb

- first draft at sparc64 callbacks (floats not working, yet)
author Tassilo Philipp
date Fri, 17 Mar 2017 03:27:36 +0100
parents d48a8b8d2ef9
children 030fbb70aa1b
line wrap: on
line diff
--- a/dyncallback/dyncall_callback_sparc64.c	Tue Mar 14 00:07:31 2017 +0100
+++ b/dyncallback/dyncall_callback_sparc64.c	Fri Mar 17 03:27:36 2017 +0100
@@ -3,10 +3,10 @@
  Package: dyncall
  Library: dyncallback
  File: dyncallback/dyncall_callback_sparc64.c
- Description: Callback - Implementation for sparc64 (TODO: not implemented yet)
+ Description: Callback - Implementation for sparc64
  License:
 
-   Copyright (c) 2007-2016 Daniel Adler <dadler@uni-goettingen.de>,
+   Copyright (c) 2007-2017 Daniel Adler <dadler@uni-goettingen.de>,
                            Tassilo Philipp <tphilipp@potion-studios.com>
 
    Permission to use, copy, modify, and distribute this software for any
@@ -33,15 +33,16 @@
 
 struct DCCallback
 {
-  DCThunk            thunk;         /* offset  0, size ?? */
-  DCCallbackHandler* handler;       /* offset ??, size  4 */
-  size_t             stack_cleanup; /* offset ??, size  4 */
-  void*              userdata;      /* offset ??, size  4 */
+  DCThunk            thunk;         /* offset  0, size 56 */
+  DCCallbackHandler* handler;       /* offset 56, size  8 */
+  void*              userdata;      /* offset 64, size  8 */
 };
 
 
 void dcbInitCallback(DCCallback* pcb, const char* signature, DCCallbackHandler* handler, void* userdata)
 {
+  pcb->handler  = handler;
+  pcb->userdata = userdata;
 }
 
 DCCallback* dcbNewCallback(const char* signature, DCCallbackHandler* handler, void* userdata)