Added comments about testing

This commit is contained in:
Stonyx
2021-10-24 21:03:29 +00:00
parent b99fad63d6
commit 73ddc685cb
3 changed files with 454 additions and 27 deletions

View File

@@ -15,10 +15,6 @@
* Cambridge, MA 02139, USA.
*/
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
/*
* This simulation is based on the equavelent functions in the libuLinux_hal library as decompiled
* by IDA and on testing done to determine values returned by the actual libuLinux_hal library
@@ -320,6 +316,10 @@
* returned = 0, argument 1 after call = 38, argument 2 after call = -1.000000
*/
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
int8_t ec_sys_get_fan_status(uint8_t channel, uint32_t* status)
{
switch (channel)

Binary file not shown.

View File

@@ -15,30 +15,457 @@
* Cambridge, MA 02139, USA.
*/
// Note: these function types are based on function signatures in the libuLinux_hal.so library
// as decompiled by Ghidra (where int is 4 bytes long, uint4 is 4 bytes long, undefined4 is
// 4 bytes long and assumed unsigned, and double is 8 bytes long):
// int ec_sys_get_fan_status(int param_1, uint* param_2)
// int ec_sys_get_fan_speed(int param_1, uint* param_2)
// int ec_sys_get_fan_pwm(undefined4 param_1, int* param_2)
// int ec_sys_get_temperature(int param_1, double*param_2)
// int ec_sys_set_fan_speed(undefined4 param_1, int param_2)
// and as decompiled by IDA (where all by the first two arguments are assumed to be local
// variable assignments):
// __int64 __fastcall ec_sys_get_fan_status(int a1, _DWORD *a2, __int64 a3, __int64 a4,
// __int64 a5, int a6)
// __int64 __fastcall ec_sys_get_fan_speed(int a1, _DWORD *a2, __int64 a3, __int64 a4,
// int a5, int a6)
// __int64 __fastcall ec_sys_get_fan_pwm(int a1, _DWORD *a2, __int64 a3, __int64 a4, int a5,
// These function types are based on function signatures in the libuLinux_hal.so library as
// decompiled by Ghidra (where int is 4 bytes long, uint4 is 4 bytes long, undefined4 is 4 bytes
// long and assumed unsigned, and double is 8 bytes long):
// int ec_sys_get_fan_status(int param_1, uint* param_2)
// int ec_sys_get_fan_speed(int param_1, uint* param_2)
// int ec_sys_get_fan_pwm(undefined4 param_1, int* param_2)
// int ec_sys_get_temperature(int param_1, double*param_2)
// int ec_sys_set_fan_speed(undefined4 param_1, int param_2)
// and as decompiled by IDA (where all by the first two arguments are assumed to be local variable
// assignments):
// __int64 __fastcall ec_sys_get_fan_status(int a1, _DWORD *a2, __int64 a3, __int64 a4,
// __int64 a5, int a6)
// __int64 __fastcall ec_sys_get_fan_speed(int a1, _DWORD *a2, __int64 a3, __int64 a4, int a5,
// int a6)
// __int64 __fastcall ec_sys_get_temperature(int a1, double *a2, __int64 a3, __int64 a4,
// int a5, int a6)
// __int64 __fastcall ec_sys_set_fan_speed(int a1, int a2, __int64 a3, __int64 a4, int a5,
// int a6)
// and on testing of various function signatures where it was determined that the IDA
// decompiled versions are closest to the correct function signatures if int is assumed to
// be 1 byte long and unsigned and the return type is changed to a int that is 1, 2, or 4
// bytes long
// __int64 __fastcall ec_sys_get_fan_pwm(int a1, _DWORD *a2, __int64 a3, __int64 a4, int a5,
// int a6)
// __int64 __fastcall ec_sys_get_temperature(int a1, double *a2, __int64 a3, __int64 a4,
// int a5, int a6)
// __int64 __fastcall ec_sys_set_fan_speed(int a1, int a2, __int64 a3, __int64 a4, int a5,
// int a6)
// and on testing of various function signatures as shown below where it was determined that the
// IDA decompiled versions are closest to the correct function signatures if int is assumed to be
// 1 byte long and unsigned and the return type is changed to a int that is 1, 2, or 4 bytes long:
// ec_sys_get_fan_status(5, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_status(5, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_status(7, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_status(25, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_status(35, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = -1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = -1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -1
// ec_sys_get_fan_speed(5, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = -1
// ec_sys_get_fan_speed(7, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = -1
// ec_sys_get_fan_speed(25, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1
// ec_sys_get_fan_speed(35, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -1
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 65535
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 65535
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 65535
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 65535
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 65535
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 65535
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 65535
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 65535
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_speed(5, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_speed(7, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_speed(25, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_speed(35, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 76
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 76
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 76
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -118
// ec_sys_get_fan_pwm(5, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 76
// ec_sys_get_fan_pwm(7, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 76
// ec_sys_get_fan_pwm(25, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 76
// ec_sys_get_fan_pwm(35, 0) called as int8 function(int8_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 650
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 76
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 76
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 76
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 650
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 76
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 76
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 76
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int8_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 650
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int16_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int16_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int16_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int16_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int32_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int32_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int32_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int32_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int64_t, int8_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int64_t, int16_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int64_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_fan_pwm(5, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 1
// ec_sys_get_fan_pwm(7, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 1
// ec_sys_get_fan_pwm(25, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = 0
// ec_sys_get_fan_pwm(35, 0) called as int8_t function(int64_t, int64_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 0
// ec_sys_get_temperature(5, 0.000000) called as int8_t function(int8_t, double*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 19.000000
// ec_sys_get_temperature(7, 0.000000) called as int8_t function(int8_t, double*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 26.000000
// ec_sys_get_temperature(25, 0.000000) called as int8_t function(int8_t, double*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1.000000
// ec_sys_get_temperature(35, 0.000000) called as int8_t function(int8_t, double*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -1.000000
// ec_sys_get_temperature(5, 0.000000) called as int8_t function(int16_t, double*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 19.000000
// ec_sys_get_temperature(7, 0.000000) called as int8_t function(int16_t, double*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 26.000000
// ec_sys_get_temperature(25, 0.000000) called as int8_t function(int16_t, double*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1.000000
// ec_sys_get_temperature(35, 0.000000) called as int8_t function(int16_t, double*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -1.000000
// ec_sys_get_temperature(5, 0.000000) called as int8_t function(int32_t, double*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 19.000000
// ec_sys_get_temperature(7, 0.000000) called as int8_t function(int32_t, double*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 26.000000
// ec_sys_get_temperature(25, 0.000000) called as int8_t function(int32_t, double*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1.000000
// ec_sys_get_temperature(35, 0.000000) called as int8_t function(int32_t, double*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -1.000000
// ec_sys_get_temperature(5, 0.000000) called as int8_t function(int64_t, double*):
// returned = 0, argument 1 after call = 5, argument 2 after call = 19.000000
// ec_sys_get_temperature(7, 0.000000) called as int8_t function(int64_t, double*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 26.000000
// ec_sys_get_temperature(25, 0.000000) called as int8_t function(int64_t, double*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1.000000
// ec_sys_get_temperature(35, 0.000000) called as int8_t function(int64_t, double*):
// returned = 0, argument 1 after call = 35, argument 2 after call = -1.000000
// ec_sys_get_fan_speed(5, 0) called as int16_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 5, argument 2 after call = -1
// ec_sys_get_fan_speed(7, 0) called as int16_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 7, argument 2 after call = 65535
// ec_sys_get_fan_speed(25, 0) called as int32_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1
// ec_sys_get_fan_speed(35, 0) called as int32_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 65535
// ec_sys_get_fan_speed(25, 0) called as int64_t function(int8_t, int8_t*):
// returned = 0, argument 1 after call = 25, argument 2 after call = -1
// ec_sys_get_fan_speed(35, 0) called as int64_t function(int8_t, int32_t*):
// returned = 0, argument 1 after call = 35, argument 2 after call = 65535
enum qnap_ec_ioctl_function_type {
int8_func_uint8_uint32pointer,
int8_func_uint8_doublepointer,