comparison dyncallback/dyncall_callback_sparc32.c @ 155:bbefb8b8e74c

- sparc32 thunk code - replaced some c++ comments with old c ones - whitespace cosmetics
author cslag
date Thu, 24 Nov 2016 23:47:31 +0000
parents d48a8b8d2ef9
children 030fbb70aa1b
comparison
equal deleted inserted replaced
154:3729a99ef03c 155:bbefb8b8e74c
1 /* 1 /*
2 2
3 Package: dyncall 3 Package: dyncall
4 Library: dyncallback 4 Library: dyncallback
5 File: dyncallback/dyncall_callback_sparc32.c 5 File: dyncallback/dyncall_callback_sparc32.c
6 Description: Callback - Implementation for sparc32 (TODO: not implemented yet) 6 Description: Callback - Implementation for sparc32
7 License: 7 License:
8 8
9 Copyright (c) 2007-2016 Daniel Adler <dadler@uni-goettingen.de>, 9 Copyright (c) 2007-2016 Daniel Adler <dadler@uni-goettingen.de>,
10 Tassilo Philipp <tphilipp@potion-studios.com> 10 Tassilo Philipp <tphilipp@potion-studios.com>
11 11
31 /* Callback symbol. */ 31 /* Callback symbol. */
32 extern void dcCallbackThunkEntry(); 32 extern void dcCallbackThunkEntry();
33 33
34 struct DCCallback 34 struct DCCallback
35 { 35 {
36 DCThunk thunk; /* offset 0, size ?? */ 36 DCThunk thunk; /* offset 0 size 24 */
37 DCCallbackHandler* handler; /* offset ??, size 4 */ 37 DCCallbackHandler* handler; /* offset 24 size 4 */
38 size_t stack_cleanup; /* offset ??, size 4 */ 38 void* userdata; /* offset 28 size 4 */
39 void* userdata; /* offset ??, size 4 */
40 }; 39 };
41 40
42 41
43 void dcbInitCallback(DCCallback* pcb, const char* signature, DCCallbackHandler* handler, void* userdata) 42 void dcbInitCallback(DCCallback* pcb, const char* signature, DCCallbackHandler* handler, void* userdata)
44 { 43 {
44 pcb->handler = handler;
45 pcb->userdata = userdata;
45 } 46 }
46 47
47 DCCallback* dcbNewCallback(const char* signature, DCCallbackHandler* handler, void* userdata) 48 DCCallback* dcbNewCallback(const char* signature, DCCallbackHandler* handler, void* userdata)
48 { 49 {
49 DCCallback* pcb; 50 DCCallback* pcb;
63 64
64 void* dcbGetUserData(DCCallback* pcb) 65 void* dcbGetUserData(DCCallback* pcb)
65 { 66 {
66 return pcb->userdata; 67 return pcb->userdata;
67 } 68 }
69