Mercurial > pub > dyncall > dyncall
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)