Products Support Documentation Download
psptypes-vxworks.h
Go to the documentation of this file.
1 /*
2  * Raima Database Manager
3  *
4  * Copyright (C) 2016 Raims Inc., All rights reserved.
5  *
6  * Use of this software, whether in source code format, or in executable,
7  * binary object code form, is governed by the Raima LICENSE which
8  * is fully described in the LICENSE.TXT file, included within this
9  * distribution of files.
10  */
11 
16 #ifndef RDM_DOXYGEN
17 #ifndef PSPTYPES_VXWORKS_H
18 #define PSPTYPES_VXWORKS_H
19 
20 #include <vxWorks.h>
21 
22 #if !defined(__INCstdinth)
23 #if defined(RDM_32BIT)
24 typedef int32_t intptr_t;
25 typedef uint32_t uintptr_t;
26 #else /* defined(RDM_64BIT) */
27 typedef int64_t intptr_t;
28 typedef uint64_t uintptr_t;
29 #endif
30 #endif
31 typedef int64_t intmax_t;
32 typedef uint64_t uintmax_t;
33 
34 #define PUBLIC_CLASS
35 
36 #if defined(RDM_64BIT)
37 #define RDM_64BIT_CODE RDM_T ("l")
38 #define RDM_64BIT_CODE_A "l"
39 #else
40 #define RDM_64BIT_CODE RDM_T ("ll")
41 #define RDM_64BIT_CODE_A "ll"
42 #endif
43 
44 #if defined(RDM_32BIT)
45 #define PSP_ARG_T int32_t
46 #else
47 #define PSP_ARG_T int64_t
48 #endif
49 
50 int32_t parse_vxworks_startup (
51  int32_t (*) (int32_t, const char *const *),
52  const char *,
53  const char *,
54  const char *,
55  const char *,
56  const char *,
57  const char *,
58  const char *,
59  const char *,
60  const char *,
61  const char *,
62  const char *);
63 
64 #define RDM_STARTUP_EXAMPLE(name) \
65  int32_t name##_main (int32_t argc, const char *const *argv); \
66  int32_t name ( \
67  PSP_ARG_T a1, PSP_ARG_T a2, PSP_ARG_T a3, PSP_ARG_T a4, PSP_ARG_T a5, \
68  PSP_ARG_T a6, PSP_ARG_T a7, PSP_ARG_T a8, PSP_ARG_T a9, PSP_ARG_T a10) \
69  { \
70  return parse_vxworks_startup ( \
71  name##_main, #name, (char *) a1, (char *) a2, (char *) a3, \
72  (char *) a4, (char *) a5, (char *) a6, (char *) a7, (char *) a8, \
73  (char *) a9, (char *) a10); \
74  }
75 #endif
76 #define RDM_STARTUP_TEST(name) RDM_STARTUP_EXAMPLE (name)
77 #endif