MATLAB Production Server C Client
R2020b
component: mds_c_client, module directory: deployment_server/client/c/mps, copyright: MathWorks
Main Page
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
mps
client.h
Go to the documentation of this file.
1
4
#ifndef MATHWORKS_MPS_CLIENT
5
#define MATHWORKS_MPS_CLIENT
6
7
#define MPS_CLIENT_1_0 0x00010000
8
#define MPS_CLIENT_1_1 0x00010001
9
10
#ifndef MPS_MAX_VER
11
#define MPS_MAX_VER MPS_CLIENT_1_1
12
#endif
13
14
#ifdef _MSC_VER
15
#define MPS_DLL_EXPORT_SYM __declspec(dllexport)
16
#define MPS_DLL_IMPORT_SYM __declspec(dllimport)
17
#elif __GNUC__ >= 4
18
#define MPS_DLL_EXPORT_SYM __attribute__ ((visibility("default")))
19
#define MPS_DLL_IMPORT_SYM __attribute__ ((visibility("default")))
20
#else
21
#define MPS_DLL_EXPORT_SYM
22
#define MPS_DLL_IMPORT_SYM
23
#endif
24
25
#if defined(BUILDING_MPSCLIENT)
26
#define MPSCLIENT_PUBLISHED_API MPS_DLL_EXPORT_SYM
27
#else
28
#define MPSCLIENT_PUBLISHED_API MPS_DLL_IMPORT_SYM
29
#endif
30
31
#ifdef __cplusplus
32
#define MPSCLIENT_PUBLISHED_API_EXTERN_C extern "C" MPSCLIENT_PUBLISHED_API
33
#else
34
#define MPSCLIENT_PUBLISHED_API_EXTERN_C extern MPSCLIENT_PUBLISHED_API
35
#endif
36
37
#include <limits.h>
38
39
#ifdef _MSC_VER
40
typedef
unsigned
__int64
uint64
;
41
#else
42
#include <stddef.h>
43
#include <stdint.h>
44
typedef
uint64_t
uint64
;
45
#endif
46
48
typedef
uint64
mpsSize
;
49
51
typedef
uint64
mpsIndex
;
52
55
typedef
struct
mpsArray
mpsArray
;
56
61
typedef
struct
mpsClientConfig
mpsClientConfig
;
62
69
typedef
struct
mpsClientContext
mpsClientContext
;
70
71
#ifndef TMW_BITS_PER_INT
72
# if INT_MAX == 0x7FL
73
# define TMW_BITS_PER_INT 8
74
# elif INT_MAX == 0x7FFFL
75
# define TMW_BITS_PER_INT 16
76
# elif INT_MAX == 0x7FFFFFFFL
77
# define TMW_BITS_PER_INT 32
78
# else
79
# define TMW_BITS_PER_INT -1
80
# endif
81
#endif
82
83
#ifndef TMW_BITS_PER_LONG
84
# if LONG_MAX == 0x7FL
85
# define TMW_BITS_PER_LONG 8
86
# elif LONG_MAX == 0x7FFFL
87
# define TMW_BITS_PER_LONG 16
88
# elif LONG_MAX == 0x7FFFFFFFL
89
# define TMW_BITS_PER_LONG 32
90
# else
91
# define TMW_BITS_PER_LONG -1
92
# endif
93
#endif
94
95
#ifndef TMW_BITS_PER_SCHAR
96
# if SCHAR_MAX == 0x7FL
97
# define TMW_BITS_PER_SCHAR 8
98
# elif SCHAR_MAX == 0x7FFFL
99
# define TMW_BITS_PER_SCHAR 16
100
# elif SCHAR_MAX == 0x7FFFFFFFL
101
# define TMW_BITS_PER_SCHAR 32
102
# else
103
# define TMW_BITS_PER_SCHAR -1
104
# endif
105
#endif
106
107
#ifndef TMW_BITS_PER_SHRT
108
# if SHRT_MAX == 0x7FL
109
# define TMW_BITS_PER_SHRT 8
110
# elif SHRT_MAX == 0x7FFFL
111
# define TMW_BITS_PER_SHRT 16
112
# elif SHRT_MAX == 0x7FFFFFFFL
113
# define TMW_BITS_PER_SHRT 32
114
# else
115
# define TMW_BITS_PER_SHRT -1
116
# endif
117
#endif
118
119
#ifndef UINT16_T
120
# if TMW_BITS_PER_INT == 16
121
# define UINT16_T unsigned int
122
# elif TMW_BITS_PER_LONG == 16
123
# define UINT16_T unsigned long
124
# elif TMW_BITS_PER_SCHAR == 16
125
# define UINT16_T unsigned char
126
# elif TMW_BITS_PER_SHRT == 16
127
# define UINT16_T unsigned short
128
# endif
129
#endif
130
131
#if (defined(__cplusplus) && (__cplusplus >= 201103L)) || (defined(_HAS_CHAR16_T_LANGUAGE_SUPPORT) && _HAS_CHAR16_T_LANGUAGE_SUPPORT)
132
typedef
char16_t
CHAR16_T
;
133
#elif defined(_MSC_VER)
134
typedef
wchar_t
CHAR16_T
;
135
#else
136
typedef
UINT16_T
CHAR16_T
;
137
#endif
138
139
typedef
CHAR16_T
mpsChar
;
140
141
#if !defined(__cplusplus)
142
143
typedef
unsigned
char
bool;
144
145
#ifndef false
146
#define false (0)
147
#endif
148
#ifndef true
149
#define true (1)
150
#endif
151
152
#endif
153
156
typedef
bool
mpsLogical
;
157
159
typedef
enum
mpsErrorInfoType
{
160
162
MPS_HTTP_ERROR_INFO
,
163
165
MPS_MATLAB_ERROR_INFO
,
166
168
MPS_GENERIC_ERROR_INFO
169
170
}
mpsErrorInfoType
;
171
172
174
typedef
struct
mpsErrorInfoHTTP
{
175
177
unsigned
int
responseCode
;
178
180
const
char
*
responseMessage
;
181
182
}
mpsErrorInfoHTTP
;
183
184
186
typedef
struct
matlabStackFrame
{
187
189
const
char
*
file
;
190
192
const
char
*
function
;
193
195
int
line
;
196
197
}
matlabStackFrame
;
198
199
201
typedef
struct
mpsErrorInfoMATLAB
{
202
204
const
char
*
message
;
205
207
const
char
*
identifier
;
208
210
const
matlabStackFrame
*
matlabStack
;
211
213
size_t
matlabStackDepth
;
214
215
}
mpsErrorInfoMATLAB
;
216
218
typedef
struct
mpsErrorInfoGeneric
{
219
221
const
char
*
genericErrorMsg
;
222
223
}
mpsErrorInfoGeneric
;
224
225
227
typedef
struct
mpsErrorInfo
{
228
230
mpsErrorInfoType
type
;
231
233
char
const
*
message
;
234
236
union
{
238
mpsErrorInfoHTTP
http
;
239
241
mpsErrorInfoMATLAB
matlab
;
242
244
mpsErrorInfoGeneric
general
;
245
}
details
;
246
247
}
mpsErrorInfo
;
248
250
typedef
enum
mpsStatus
{
251
253
MPS_OK
,
254
256
MPS_FAILURE
257
258
}
mpsStatus
;
259
261
typedef
enum
mpsComplexity
{
263
mpsREAL
,
265
mpsCOMPLEX
266
}
mpsComplexity
;
267
269
typedef
enum
mpsClassID
{
271
mpsUINT8_CLASS
,
273
mpsINT8_CLASS
,
275
mpsUINT16_CLASS
,
277
mpsINT16_CLASS
,
279
mpsUINT32_CLASS
,
281
mpsINT32_CLASS
,
283
mpsUINT64_CLASS
,
285
mpsINT64_CLASS
,
287
mpsSINGLE_CLASS
,
289
mpsDOUBLE_CLASS
,
291
mpsLOGICAL_CLASS
,
293
mpsCHAR_CLASS
,
295
mpsSTRUCT_CLASS
,
297
mpsCELL_CLASS
298
}
mpsClassID
;
299
305
typedef
struct
mpsClientRuntime
{
306
317
mpsStatus
(*
createConfig
) (
mpsClientConfig
** config);
318
322
void (*
destroyConfig
) (
mpsClientConfig
* config);
323
325
void (*
setResponseTimeOutSec
) (
mpsClientConfig
* config,
unsigned
long
value);
326
328
unsigned
long (*
getResponseTimeOutSec
)(
const
mpsClientConfig
* config);
329
331
void (*
setResponseSizeLimit
) (
mpsClientConfig
* config,
unsigned
int
value);
332
334
unsigned
int (*
getResponseSizeLimit
)(
const
mpsClientConfig
* config);
335
348
mpsStatus
(*
createContext
)(
mpsClientContext
** context,
const
mpsClientConfig
* config);
349
357
void (*
destroyContext
) (
mpsClientContext
* context);
358
371
void (*
getLastErrorInfo
) (
mpsClientContext
const
* context,
mpsErrorInfo
* errorInfo);
372
375
void (*
destroyLastErrorInfo
) (
mpsErrorInfo
* errorInfo);
376
399
mpsStatus
(*
feval
)(
mpsClientContext
* context,
const
char
* url,
int
nlhs,
mpsArray
*plhs[],
int
nrhs,
const
mpsArray
*prhs[] );
400
404
#if MPS_MAX_VER >= MPS_CLIENT_1_1
405
407
void (*
setClientCertFile
) (
mpsClientConfig
* config,
const
char
* certFile);
408
410
const
char
* (*getClientCertFile) (
const
mpsClientConfig
* config);
411
413
void (*
setPrivateKeyFile
) (
mpsClientConfig
* config,
const
char
* pkFile);
414
416
const
char
* (*getPrivateKeyFile) (
const
mpsClientConfig
* config);
417
419
void (*
setPrivateKeyPasswd
) (
mpsClientConfig
* config,
const
char
* passwd);
420
422
const
char
* (*getPrivateKeyPasswd) (
const
mpsClientConfig
* config);
423
425
void (*
setCAFile
) (
mpsClientConfig
* config,
const
char
* caFile);
426
428
const
char
* (*getCAFile) (
const
mpsClientConfig
* config);
429
431
void (*
setRevocationListFile
) (
mpsClientConfig
* config,
const
char
* crlFile);
432
434
const
char
* (*getRevocationListFile) (
const
mpsClientConfig
* config);
435
437
void (*
setVerifyHost
) (
mpsClientConfig
* config,
mpsLogical
verifyHost);
438
440
mpsLogical
(*
getVerifyHost
) (
const
mpsClientConfig
* config);
441
445
void (*
setVerifyPeer
) (
mpsClientConfig
* config,
mpsLogical
verifyPeer);
446
448
mpsLogical
(*
getVerifyPeer
) (
const
mpsClientConfig
* config);
449
450
#endif
451
452
}
mpsClientRuntime
;
453
460
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsClientRuntime
*
mpsInitialize
(
void
);
461
471
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsClientRuntime
*
mpsInitializeEx
(
int
version);
472
477
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsTerminate
(
void
);
478
482
MPSCLIENT_PUBLISHED_API_EXTERN_C
const
char
*
mpsGetInitializationErrorMessage
(
void
);
483
488
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsDouble
(
const
mpsArray
* mlArr);
489
494
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsSingle
(
const
mpsArray
* mlArr);
495
500
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsComplex
(
const
mpsArray
* mlArr);
501
506
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsNumeric
(
const
mpsArray
* mlArr);
507
512
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsInt64
(
const
mpsArray
* mlArr);
513
518
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsUint64
(
const
mpsArray
* mlArr);
519
524
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsInt32
(
const
mpsArray
* mlArr);
525
530
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsUint32
(
const
mpsArray
* mlArr);
531
536
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsInt16
(
const
mpsArray
* mlArr);
537
542
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsUint16
(
const
mpsArray
* mlArr);
543
548
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsInt8
(
const
mpsArray
* mlArr);
549
554
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsUint8
(
const
mpsArray
* mlArr);
555
560
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsChar
(
const
mpsArray
* mlArr);
561
566
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsLogical
(
const
mpsArray
* mlArr);
567
572
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsLogicalScalar
(
const
mpsArray
* mlArr);
573
578
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsLogicalScalarTrue
(
const
mpsArray
* mlArr);
579
584
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsStruct
(
const
mpsArray
* mlArr);
585
590
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsCell
(
const
mpsArray
* mlArr);
591
616
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsClass
(
const
mpsArray
* mlArr,
const
char
* classname);
617
622
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsEmpty
(
const
mpsArray
* mlArr);
623
628
MPSCLIENT_PUBLISHED_API_EXTERN_C
bool
mpsIsSparse
(
const
mpsArray
* mlArr);
629
637
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateDoubleMatrix
(
mpsSize
m,
mpsSize
n,
mpsComplexity
complexFlag);
638
643
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateDoubleScalar
(
double
value);
644
653
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateNumericMatrix
(
mpsSize
m,
mpsSize
n,
mpsClassID
classid,
mpsComplexity
complexFlag);
654
664
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateNumericArray
(
mpsSize
ndim,
const
mpsSize
*dims,
665
mpsClassID
classid,
mpsComplexity
complexFlag);
666
671
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateString
(
const
char
* str);
672
678
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateCharMatrixFromStrings
(
mpsSize
rows,
const
char
**str);
679
686
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateCharArray
(
mpsSize
ndim,
const
mpsSize
*dims);
687
692
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateLogicalScalar
(
mpsLogical
value);
693
699
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateLogicalMatrix
(
mpsSize
m,
mpsSize
n);
700
707
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateLogicalArray
(
mpsSize
ndim,
const
mpsSize
*dims);
708
716
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateStructMatrix
(
mpsSize
m,
mpsSize
n,
int
nfields,
const
char
**fieldnames);
717
726
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateStructArray
(
mpsSize
ndim,
const
mpsSize
*dims,
int
nfields,
const
char
**fieldnames);
727
733
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateCellMatrix
(
mpsSize
m,
mpsSize
n);
734
741
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateCellArray
(
mpsSize
ndim,
const
mpsSize
*dims);
742
754
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateSparse
(
mpsSize
m,
mpsSize
n,
mpsSize
nzmax,
mpsComplexity
complexFlag);
755
764
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsCreateSparseLogicalMatrix
(
mpsSize
m,
mpsSize
n,
mpsSize
nzmax);
765
774
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsDestroyArray
(
mpsArray
*mlArr);
775
780
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsDuplicateArray
(
const
mpsArray
*mlArr);
781
785
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsFree
(
void
*data);
786
791
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsSize
mpsGetNumberOfDimensions
(
const
mpsArray
*mlArr);
792
797
MPSCLIENT_PUBLISHED_API_EXTERN_C
size_t
mpsGetElementSize
(
const
mpsArray
*mlArr);
798
805
MPSCLIENT_PUBLISHED_API_EXTERN_C
const
mpsSize
*
mpsGetDimensions
(
const
mpsArray
*mlArr);
806
813
MPSCLIENT_PUBLISHED_API_EXTERN_C
int
mpsSetDimensions
(
mpsArray
*mlArr,
const
mpsSize
*dims,
mpsSize
ndim);
814
819
MPSCLIENT_PUBLISHED_API_EXTERN_C
size_t
mpsGetNumberOfElements
(
const
mpsArray
*mlArr);
820
832
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsIndex
mpsCalcSingleSubscript
(
const
mpsArray
*mlArr,
mpsSize
nsubs,
mpsIndex
*subs);
833
838
MPSCLIENT_PUBLISHED_API_EXTERN_C
size_t
mpsGetM
(
const
mpsArray
*mlArr);
839
844
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsSetM
(
mpsArray
*mlArr,
mpsSize
m);
845
850
MPSCLIENT_PUBLISHED_API_EXTERN_C
size_t
mpsGetN
(
const
mpsArray
*mlArr);
851
856
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsSetN
(
mpsArray
*mlArr,
mpsSize
n);
857
862
MPSCLIENT_PUBLISHED_API_EXTERN_C
double
mpsGetScalar
(
const
mpsArray
*mlArr);
863
868
MPSCLIENT_PUBLISHED_API_EXTERN_C
double
*
mpsGetPr
(
const
mpsArray
*mlArr);
869
874
MPSCLIENT_PUBLISHED_API_EXTERN_C
double
*
mpsGetPi
(
const
mpsArray
*mlArr);
875
880
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
*
mpsGetData
(
const
mpsArray
*mlArr);
881
886
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
*
mpsGetImagData
(
const
mpsArray
*mlArr);
887
892
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsChar
*
mpsGetChars
(
const
mpsArray
*mlArr);
893
901
MPSCLIENT_PUBLISHED_API_EXTERN_C
int
mpsGetString
(
const
mpsArray
* mlArr,
char
* str,
mpsSize
len);
902
907
MPSCLIENT_PUBLISHED_API_EXTERN_C
char
*
mpsArrayToString
(
const
mpsArray
*mlArr);
908
913
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsClassID
mpsGetClassID
(
const
mpsArray
*mlArr);
914
919
MPSCLIENT_PUBLISHED_API_EXTERN_C
const
char
*
mpsGetClassName
(
const
mpsArray
*mlArr);
920
925
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsLogical
*
mpsGetLogicals
(
const
mpsArray
*mlArr);
926
933
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsGetField
(
const
mpsArray
*mlArr,
mpsIndex
index,
const
char
*fieldname);
934
941
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsSetField
(
mpsArray
*mlArr,
mpsIndex
index,
const
char
*fieldname,
mpsArray
*pvalue);
942
947
MPSCLIENT_PUBLISHED_API_EXTERN_C
int
mpsGetNumberOfFields
(
const
mpsArray
*mlArr);
948
954
MPSCLIENT_PUBLISHED_API_EXTERN_C
int
mpsGetFieldNumber
(
const
mpsArray
*mlArr,
const
char
*fieldname);
955
961
MPSCLIENT_PUBLISHED_API_EXTERN_C
const
char
*
mpsGetFieldNameByNumber
(
const
mpsArray
*mlArr,
int
fieldnumber);
962
969
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsGetFieldByNumber
(
const
mpsArray
*mlArr,
mpsIndex
index,
int
fieldnumber);
970
977
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsSetFieldByNumber
(
mpsArray
*mlArr,
mpsIndex
index,
int
fieldnumber,
mpsArray
*pvalue);
978
984
MPSCLIENT_PUBLISHED_API_EXTERN_C
int
mpsAddField
(
mpsArray
*mlArr,
const
char
*fieldname);
985
990
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsRemoveField
(
mpsArray
*mlArr,
int
fieldnumber);
991
997
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsArray
*
mpsGetCell
(
const
mpsArray
*mlArr,
mpsIndex
index);
998
1005
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsSetCell
(
mpsArray
*mlArr,
mpsIndex
index,
mpsArray
*value);
1006
1011
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsSize
mpsGetNzmax
(
const
mpsArray
*mlArr);
1012
1020
MPSCLIENT_PUBLISHED_API_EXTERN_C
void
mpsSetNzmax
(
mpsArray
*mlArr,
mpsSize
nzmax);
1021
1026
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsIndex
*
mpsGetIr
(
const
mpsArray
*mlArr);
1027
1032
MPSCLIENT_PUBLISHED_API_EXTERN_C
mpsIndex
*
mpsGetJc
(
const
mpsArray
*mlArr);
1033
1034
#endif
Generated on Wed Dec 11 2019 23:29:00 for MATLAB Production Server C Client by
1.8.3.1