diff options
Diffstat (limited to 'toolkit/components/ctypes/tests/jsctypes-test.h')
-rw-r--r-- | toolkit/components/ctypes/tests/jsctypes-test.h | 197 |
1 files changed, 0 insertions, 197 deletions
diff --git a/toolkit/components/ctypes/tests/jsctypes-test.h b/toolkit/components/ctypes/tests/jsctypes-test.h deleted file mode 100644 index 14eb8c915..000000000 --- a/toolkit/components/ctypes/tests/jsctypes-test.h +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef jsctypes_test_h -#define jsctypes_test_h - -#include "mozilla/Attributes.h" -#include "mozilla/Types.h" -#include "jspubtd.h" -#include "typedefs.h" - -#define EXPORT_CDECL(type) MOZ_EXPORT type -#if defined(_WIN32) -#if defined(_WIN64) -#define NS_STDCALL -#else -#define NS_STDCALL __stdcall -#endif -#define EXPORT_STDCALL(type) MOZ_EXPORT type NS_STDCALL -#endif - -MOZ_BEGIN_EXTERN_C - - EXPORT_CDECL(void) test_void_t_cdecl(); - - EXPORT_CDECL(void*) get_voidptr_t_cdecl(); - EXPORT_CDECL(void*) set_voidptr_t_cdecl(void*); - -#define DECLARE_CDECL_FUNCTIONS(name, type, ffiType) \ - EXPORT_CDECL(type) get_##name##_cdecl(); \ - EXPORT_CDECL(type) set_##name##_cdecl(type); \ - EXPORT_CDECL(type) sum_##name##_cdecl(type, type); \ - EXPORT_CDECL(type) sum_alignb_##name##_cdecl(char, type, char, type, char); \ - EXPORT_CDECL(type) sum_alignf_##name##_cdecl( \ - float, type, float, type, float); \ - EXPORT_CDECL(type) sum_many_##name##_cdecl( \ - type, type, type, type, type, type, type, type, type, \ - type, type, type, type, type, type, type, type, type); \ - \ - EXPORT_CDECL(void) get_##name##_stats(size_t* align, size_t* size, \ - size_t* nalign, size_t* nsize, \ - size_t offsets[]); - CTYPES_FOR_EACH_TYPE(DECLARE_CDECL_FUNCTIONS) -#undef DECLARE_CDECL_FUNCTIONS - -#if defined(_WIN32) - EXPORT_STDCALL(void) test_void_t_stdcall(); - - EXPORT_STDCALL(void*) get_voidptr_t_stdcall(); - EXPORT_STDCALL(void*) set_voidptr_t_stdcall(void*); - -#define DECLARE_STDCALL_FUNCTIONS(name, type, ffiType) \ - EXPORT_STDCALL(type) get_##name##_stdcall(); \ - EXPORT_STDCALL(type) set_##name##_stdcall(type); \ - EXPORT_STDCALL(type) sum_##name##_stdcall(type, type); \ - EXPORT_STDCALL(type) sum_alignb_##name##_stdcall( \ - char, type, char, type, char); \ - EXPORT_STDCALL(type) sum_alignf_##name##_stdcall( \ - float, type, float, type, float); \ - EXPORT_STDCALL(type) sum_many_##name##_stdcall( \ - type, type, type, type, type, type, type, type, type, \ - type, type, type, type, type, type, type, type, type); - CTYPES_FOR_EACH_TYPE(DECLARE_STDCALL_FUNCTIONS) -#undef DECLARE_STDCALL_FUNCTIONS - -#endif /* defined(_WIN32) */ - - MOZ_EXPORT int32_t test_ansi_len(const char*); - MOZ_EXPORT int32_t test_wide_len(const char16_t*); - MOZ_EXPORT const char* test_ansi_ret(); - MOZ_EXPORT const char16_t* test_wide_ret(); - MOZ_EXPORT char* test_ansi_echo(const char*); - - struct ONE_BYTE { - char a; - }; - - struct TWO_BYTE { - char a; - char b; - }; - - struct THREE_BYTE { - char a; - char b; - char c; - }; - - struct FOUR_BYTE { - char a; - char b; - char c; - char d; - }; - - struct FIVE_BYTE { - char a; - char b; - char c; - char d; - char e; - }; - - struct SIX_BYTE { - char a; - char b; - char c; - char d; - char e; - char f; - }; - - struct SEVEN_BYTE { - char a; - char b; - char c; - char d; - char e; - char f; - char g; - }; - - struct myPOINT { - int32_t x; - int32_t y; - }; - - struct myRECT { - int32_t top; - int32_t left; - int32_t bottom; - int32_t right; - }; - - struct INNER { - uint8_t i1; - int64_t i2; - uint8_t i3; - }; - - struct NESTED { - int32_t n1; - int16_t n2; - INNER inner; - int64_t n3; - int32_t n4; - }; - - MOZ_EXPORT int32_t test_pt_in_rect(myRECT, myPOINT); - MOZ_EXPORT void test_init_pt(myPOINT* pt, int32_t x, int32_t y); - - MOZ_EXPORT int32_t test_nested_struct(NESTED); - MOZ_EXPORT myPOINT test_struct_return(myRECT); - MOZ_EXPORT myRECT test_large_struct_return(myRECT, myRECT); - MOZ_EXPORT ONE_BYTE test_1_byte_struct_return(myRECT); - MOZ_EXPORT TWO_BYTE test_2_byte_struct_return(myRECT); - MOZ_EXPORT THREE_BYTE test_3_byte_struct_return(myRECT); - MOZ_EXPORT FOUR_BYTE test_4_byte_struct_return(myRECT); - MOZ_EXPORT FIVE_BYTE test_5_byte_struct_return(myRECT); - MOZ_EXPORT SIX_BYTE test_6_byte_struct_return(myRECT); - MOZ_EXPORT SEVEN_BYTE test_7_byte_struct_return(myRECT); - - MOZ_EXPORT void * test_fnptr(); - - typedef int32_t (* test_func_ptr)(int8_t); - MOZ_EXPORT int32_t test_closure_cdecl(int8_t, test_func_ptr); -#if defined(_WIN32) - typedef int32_t (NS_STDCALL * test_func_ptr_stdcall)(int8_t); - MOZ_EXPORT int32_t test_closure_stdcall(int8_t, test_func_ptr_stdcall); -#endif /* defined(_WIN32) */ - - MOZ_EXPORT int32_t test_callme(int8_t); - MOZ_EXPORT void* test_getfn(); - - EXPORT_CDECL(int32_t) test_sum_va_cdecl(uint8_t n, ...); - EXPORT_CDECL(uint8_t) test_count_true_va_cdecl(uint8_t n, ...); - EXPORT_CDECL(void) test_add_char_short_int_va_cdecl(uint32_t* result, ...); - EXPORT_CDECL(int32_t*) test_vector_add_va_cdecl(uint8_t num_vecs, - uint8_t vec_len, - int32_t* result, ...); - - MOZ_EXPORT extern myRECT data_rect; - -MOZ_END_EXTERN_C - -class MOZ_EXPORT TestClass final { -public: - explicit TestClass(int32_t); - int32_t Add(int32_t); - -private: - int32_t mInt; -}; - -#endif |