1 /* 2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab 3 * Copyright (C) 2009 - DIGITEO - Antoine ELIAS 4 * 5 * Copyright (C) 2012 - 2016 - Scilab Enterprises 6 * 7 * This file is hereby licensed under the terms of the GNU GPL v2.0, 8 * pursuant to article 5.3.4 of the CeCILL v.2.1. 9 * This file was originally licensed under the terms of the CeCILL v2.1, 10 * and continues to be available under such terms. 11 * For more information, see the COPYING file which you should have received 12 * along with this program. 13 */ 14 15 #ifndef __STACK_INT_API__ 16 #define __STACK_INT_API__ 17 18 #if !defined(__INTERNAL_API_SCILAB__) 19 #error Do not include api_stack_int.h. Include api_scilab.h instead. 20 #endif 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 /* 27 * These values are also used in: 28 * modules/core/includes/sci_types.h 29 */ 30 31 #define SCI_INT8 1 32 #define SCI_INT16 2 33 #define SCI_INT32 4 34 #define SCI_INT64 8 35 36 #define SCI_UINT8 11 37 #define SCI_UINT16 12 38 #define SCI_UINT32 14 39 #define SCI_UINT64 18 40 41 #include "version.h" 42 #if SCI_VERSION_MAJOR > 5 43 #define __SCILAB_INT64__ 44 #endif 45 46 /********************************/ 47 /* integer matrix functions */ 48 /********************************/ 49 50 /** 51 * Get integer precision ( SCI_xINTx ) 52 * @param[in] _piAddress variable address 53 * @param[out] _piPrecison return integer precision ( SCI_xINTx ) 54 */ 55 SciErr getMatrixOfIntegerPrecision(void* _pvCtx, int* _piAddress, int* _piPrecision); 56 57 /** 58 * Get 8-bit integer variable 59 * @param[in] _piAddress variable address 60 * @param[out] _piRows return number of rows 61 * @param[out] _piCols return number of columns 62 * @param[out] _pcData8 return pointer to 8-bit integer 63 * @return if the operation succeeded ( 0 ) or not ( !0 ) 64 */ 65 SciErr getMatrixOfInteger8(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, char** _pcData8); 66 67 /** 68 * Get 8-bit unsigned integer variable 69 * @param[in] _piAddress variable address 70 * @param[out] _piRows return number of rows 71 * @param[out] _piCols return number of columns 72 * @param[out] _pucData8 return pointer to 8-bit unsigned integer 73 * @return if the operation succeeded ( 0 ) or not ( !0 ) 74 */ 75 SciErr getMatrixOfUnsignedInteger8(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, unsigned char** _pucData8); 76 77 /** 78 * Get 16-bit integer variable 79 * @param[in] _piAddress variable address 80 * @param[out] _piRows return number of rows 81 * @param[out] _piCols return number of columns 82 * @param[out] _psData16 return pointer to 16-bit integer 83 * @return if the operation succeeded ( 0 ) or not ( !0 ) 84 */ 85 SciErr getMatrixOfInteger16(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, short** _psData16); 86 87 /** 88 * Get 16-bit unsigned integer variable 89 * @param[in] _piAddress variable address 90 * @param[out] _piRows return number of rows 91 * @param[out] _piCols return number of columns 92 * @param[out] _pusData16 return pointer to 16-bit unsigned integer 93 * @return if the operation succeeded ( 0 ) or not ( !0 ) 94 */ 95 SciErr getMatrixOfUnsignedInteger16(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, unsigned short** _pusData16); 96 97 /** 98 * Get 32-bit integer variable 99 * @param[in] _piAddress variable address 100 * @param[out] _piRows return number of rows 101 * @param[out] _piCols return number of columns 102 * @param[out] _piData32 return pointer to 32-bit integer 103 * @return if the operation succeeded ( 0 ) or not ( !0 ) 104 */ 105 SciErr getMatrixOfInteger32(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int** _piData32); 106 107 /** 108 * Get 32-bit unsigned integer variable 109 * @param[in] _piAddress variable address 110 * @param[out] _piRows return number of rows 111 * @param[out] _piCols return number of columns 112 * @param[out] _puiData32 return pointer to 32-bit unsigned integer 113 * @return if the operation succeeded ( 0 ) or not ( !0 ) 114 */ 115 SciErr getMatrixOfUnsignedInteger32(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, unsigned int** _puiData32); 116 117 118 #ifdef __SCILAB_INT64__ 119 120 /** 121 * Get 64-bit integer variable 122 * @param[in] _piAddress variable address 123 * @param[out] _piRows return number of rows 124 * @param[out] _piCols return number of columns 125 * @param[out] _pllData64 return pointer to 64-bit integer 126 * @return if the operation succeeded ( 0 ) or not ( !0 ) 127 */ 128 SciErr getMatrixOfInteger64(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, long long** _pllData64); 129 130 /** 131 * Get 64-bit unsigned integer variable 132 * @param[in] _piAddress variable address 133 * @param[out] _piRows return number of rows 134 * @param[out] _piCols return number of columns 135 * @param[out] _pullData64 return pointer to 64-bit unsigned integer 136 * @return if the operation succeeded ( 0 ) or not ( !0 ) 137 */ 138 SciErr getMatrixOfUnsignedInteger64(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, unsigned long long** _pullData64); 139 140 #endif 141 142 /** 143 * Create 8-bit integer variable 144 * @param[in] _iVar variable number 145 * @param[in] _iRows number of rows 146 * @param[in] _iCols number of columns 147 * @param[in] _pcData8 array of 8-bit integers 148 * @return if the operation succeeded ( 0 ) or not ( !0 ) 149 */ 150 SciErr createMatrixOfInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, const char* _pcData8); 151 152 /** 153 * Create 8-bit unsigned integer variable 154 * @param[in] _iVar variable number 155 * @param[in] _iRows number of rows 156 * @param[in] _iCols number of columns 157 * @param[in] _pucData8 array of 8-bit unsigned integers 158 * @return if the operation succeeded ( 0 ) or not ( !0 ) 159 */ 160 SciErr createMatrixOfUnsignedInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, const unsigned char* _pucData8); 161 162 /** 163 * Create 16-bit integer variable 164 * @param[in] _iVar variable number 165 * @param[in] _iRows number of rows 166 * @param[in] _iCols number of columns 167 * @param[in] _psData16 array of 16-bit integers 168 * @return if the operation succeeded ( 0 ) or not ( !0 ) 169 */ 170 SciErr createMatrixOfInteger16(void* _pvCtx, int _iVar, int _iRows, int _iCols, const short* _psData16); 171 172 /** 173 * Create 16-bit unsigned integer variable 174 * @param[in] _iVar variable number 175 * @param[in] _iRows number of rows 176 * @param[in] _iCols number of columns 177 * @param[in] _pusData16 array of 16-bit unsigned integers 178 * @return if the operation succeeded ( 0 ) or not ( !0 ) 179 */ 180 SciErr createMatrixOfUnsignedInteger16(void* _pvCtx, int _iVar, int _iRows, int _iCols, const unsigned short* _pusData16); 181 182 /** 183 * Create 32-bit integer variable 184 * @param[in] _iVar variable number 185 * @param[in] _iRows number of rows 186 * @param[in] _iCols number of columns 187 * @param[in] _piData32 array of 32-bit integers 188 * @return if the operation succeeded ( 0 ) or not ( !0 ) 189 */ 190 SciErr createMatrixOfInteger32(void* _pvCtx, int _iVar, int _iRows, int _iCols, const int* _piData32); 191 192 /** 193 * Create 32-bit unsigned integer variable 194 * @param[in] _iVar variable number 195 * @param[in] _iRows number of rows 196 * @param[in] _iCols number of columns 197 * @param[in] _puiData32 array of 32-bit unsigned integers 198 * @return if the operation succeeded ( 0 ) or not ( !0 ) 199 */ 200 SciErr createMatrixOfUnsignedInteger32(void* _pvCtx, int _iVar, int _iRows, int _iCols, const unsigned int* _puiData32); 201 202 #ifdef __SCILAB_INT64__ 203 204 /** 205 * Create 64-bit integer variable 206 * @param[in] _iVar variable number 207 * @param[in] _iRows number of rows 208 * @param[in] _iCols number of columns 209 * @param[in] _pllData64 array of 64-bit integers 210 * @return if the operation succeeded ( 0 ) or not ( !0 ) 211 */ 212 SciErr createMatrixOfInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, const long long* _pllData64); 213 214 /** 215 * Create 64-bit unsigned integer variable 216 * @param[in] _iVar variable number 217 * @param[in] _iRows number of rows 218 * @param[in] _iCols number of columns 219 * @param[in] _pullData64 array of 64-bit unsigned integers 220 * @return if the operation succeeded ( 0 ) or not ( !0 ) 221 */ 222 SciErr createMatrixOfUnsignedInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, const unsigned long long* _pullData64); 223 224 #endif 225 226 /** 227 * Create named 8-bit integer variable 228 * @param[in] _pstName variable name 229 * @param[in] _iRows number of rows 230 * @param[in] _iCols number of columns 231 * @param[in] _pcData8 array of 8-bit integers 232 * @return if the operation succeeded ( 0 ) or not ( !0 ) 233 */ 234 SciErr createNamedMatrixOfInteger8(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const char* _pcData8); 235 236 /** 237 * Create named 8-bit unsigned integer variable 238 * @param[in] _pstName variable name 239 * @param[in] _iRows number of rows 240 * @param[in] _iCols number of columns 241 * @param[in] _pucData8 array of 8-bit unsigned integers 242 * @return if the operation succeeded ( 0 ) or not ( !0 ) 243 */ 244 SciErr createNamedMatrixOfUnsignedInteger8(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const unsigned char* _pucData8); 245 246 /** 247 * Create named 16-bit integer variable 248 * @param[in] _pstName variable name 249 * @param[in] _iRows number of rows 250 * @param[in] _iCols number of columns 251 * @param[in] _psData16 array of 16-bit integers 252 * @return if the operation succeeded ( 0 ) or not ( !0 ) 253 */ 254 SciErr createNamedMatrixOfInteger16(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const short* _psData16); 255 256 /** 257 * Create named 16-bit unsigned integer variable 258 * @param[in] _pstName variable name 259 * @param[in] _iRows number of rows 260 * @param[in] _iCols number of columns 261 * @param[in] _pusData16 array of 16-bit unsigned integers 262 * @return if the operation succeeded ( 0 ) or not ( !0 ) 263 */ 264 SciErr createNamedMatrixOfUnsignedInteger16(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const unsigned short* _pusData16); 265 266 /** 267 * Create named 32-bit integer variable 268 * @param[in] _pstName variable name 269 * @param[in] _iRows number of rows 270 * @param[in] _iCols number of columns 271 * @param[in] _piData32 array of 32-bit integers 272 * @return if the operation succeeded ( 0 ) or not ( !0 ) 273 */ 274 SciErr createNamedMatrixOfInteger32(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const int* _piData32); 275 276 /** 277 * Create named 32-bit unsigned integer variable 278 * @param[in] _pstName variable name 279 * @param[in] _iRows number of rows 280 * @param[in] _iCols number of columns 281 * @param[in] _puiData32 array of 32-bit unsigned integers 282 * @return if the operation succeeded ( 0 ) or not ( !0 ) 283 */ 284 SciErr createNamedMatrixOfUnsignedInteger32(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const unsigned int* _puiData32); 285 286 #ifdef __SCILAB_INT64__ 287 288 /** 289 * Create named 64-bit integer variable 290 * @param[in] _pstName variable name 291 * @param[in] _iRows number of rows 292 * @param[in] _iCols number of columns 293 * @param[in] _pllData64 array of 64-bit integers 294 * @return if the operation succeeded ( 0 ) or not ( !0 ) 295 */ 296 SciErr createNamedMatrixOfInteger64(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const long long* _pllData64); 297 298 /** 299 * Create named 64-bit unsigned integer variable 300 * @param[in] _pstName variable name 301 * @param[in] _iRows number of rows 302 * @param[in] _iCols number of columns 303 * @param[in] _pullData64 array of 64-bit unsigned integers 304 * @return if the operation succeeded ( 0 ) or not ( !0 ) 305 */ 306 SciErr createNamedMatrixOfUnsignedInteger64(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const unsigned long long* _pullData64); 307 308 #endif 309 310 /** 311 * Allocate 8-bit integer variable 312 * @param[in] _iVar variable number 313 * @param[in] _iRows number of rows 314 * @param[in] _iCols number of columns 315 * @param[out] _pcData8 return array of 8-bit integers 316 * @return if the operation succeeded ( 0 ) or not ( !0 ) 317 */ 318 SciErr allocMatrixOfInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, char** _pcData8); 319 320 /** 321 * Allocate 8-bit unsigned integer variable 322 * @param[in] _iVar variable number 323 * @param[in] _iRows number of rows 324 * @param[in] _iCols number of columns 325 * @param[out] _pucData8 return array of 8-bit unsigned integers 326 * @return if the operation succeeded ( 0 ) or not ( !0 ) 327 */ 328 SciErr allocMatrixOfUnsignedInteger8(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned char** _pucData8); 329 330 /** 331 * Allocate 16-bit integer variable 332 * @param[in] _iVar variable number 333 * @param[in] _iRows number of rows 334 * @param[in] _iCols number of columns 335 * @param[out] _psData16 return array of 16-bit integers 336 * @return if the operation succeeded ( 0 ) or not ( !0 ) 337 */ 338 SciErr allocMatrixOfInteger16(void* _pvCtx, int _iVar, int _iRows, int _iCols, short** _psData16); 339 340 /** 341 * Allocate 16-bit unsigned integer variable 342 * @param[in] _iVar variable number 343 * @param[in] _iRows number of rows 344 * @param[in] _iCols number of columns 345 * @param[out] _pusData16 return array of 16-bit integers 346 * @return if the operation succeeded ( 0 ) or not ( !0 ) 347 */ 348 SciErr allocMatrixOfUnsignedInteger16(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned short** _pusData16); 349 350 /** 351 * Allocate 32-bit integer variable 352 * @param[in] _iVar variable number 353 * @param[in] _iRows number of rows 354 * @param[in] _iCols number of columns 355 * @param[out] _piData32 return array of 32-bit integers 356 * @return if the operation succeeded ( 0 ) or not ( !0 ) 357 */ 358 SciErr allocMatrixOfInteger32(void* _pvCtx, int _iVar, int _iRows, int _iCols, int** _piData32); 359 360 /** 361 * Allocate 32-bit unsigned integer variable 362 * @param[in] _iVar variable number 363 * @param[in] _iRows number of rows 364 * @param[in] _iCols number of columns 365 * @param[out] _puiData32 return array of 32-bit unsigned integers 366 * @return if the operation succeeded ( 0 ) or not ( !0 ) 367 */ 368 SciErr allocMatrixOfUnsignedInteger32(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned int** _puiData32); 369 370 #ifdef __SCILAB_INT64__ 371 372 /** 373 * Allocate 64-bit integer variable 374 * @param[in] _iVar variable number 375 * @param[in] _iRows number of rows 376 * @param[in] _iCols number of columns 377 * @param[out] _pllData64 return array of 64-bit integers 378 * @return if the operation succeeded ( 0 ) or not ( !0 ) 379 */ 380 SciErr allocMatrixOfInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, long long** _pllData64); 381 382 /** 383 * Allocate 64-bit unsigned integer variable 384 * @param[in] _iVar variable number 385 * @param[in] _iRows number of rows 386 * @param[in] _iCols number of columns 387 * @param[out] _pullData64 return array of 64-bit unsigned integers 388 * @return if the operation succeeded ( 0 ) or not ( !0 ) 389 */ 390 SciErr allocMatrixOfUnsignedInteger64(void* _pvCtx, int _iVar, int _iRows, int _iCols, unsigned long long** _pullData64); 391 392 #endif 393 394 /** 395 * Get integer precision of a named variable ( SCI_xINTx ) 396 * @param[in] _pstName variable name 397 * @param[out] _piPrecison return integer precision ( SCI_xINTx ) 398 */ 399 SciErr getNamedMatrixOfIntegerPrecision(void* _pvCtx, const char* _pstName, int* _piPrecision); 400 401 /** 402 * Read named 8-bit integer variable data 403 * @param[in] _pstName variable name 404 * @param[out] _piRows return number of rows 405 * @param[out] _piCols return number of columns 406 * @param[out] _pcData8 return array of 8-bit integers 407 * @return if the operation succeeded ( 0 ) or not ( !0 ) 408 */ 409 SciErr readNamedMatrixOfInteger8(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, char* _pcData8); 410 411 /** 412 * Read named 8-bit unsigned integer variable data 413 * @param[in] _pstName variable name 414 * @param[out] _piRows return number of rows 415 * @param[out] _piCols return number of columns 416 * @param[out] _pucData8 return array of 8-bit unsigned integer 417 * @return if the operation succeeded ( 0 ) or not ( !0 ) 418 */ 419 SciErr readNamedMatrixOfUnsignedInteger8(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, unsigned char* _pucData8); 420 421 /** 422 * Read named 16-bit integer variable data 423 * @param[in] _pstName variable name 424 * @param[out] _piRows return number of rows 425 * @param[out] _piCols return number of columns 426 * @param[out] _psData16 return array of 16-bit integers 427 * @return if the operation succeeded ( 0 ) or not ( !0 ) 428 */ 429 SciErr readNamedMatrixOfInteger16(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, short* _psData16); 430 431 /** 432 * Read named 16-bit unsigned integer variable data 433 * @param[in] _pstName variable name 434 * @param[out] _piRows return number of rows 435 * @param[out] _piCols return number of columns 436 * @param[out] _pusData16 return array of 16-bit unsigned integers 437 * @return if the operation succeeded ( 0 ) or not ( !0 ) 438 */ 439 SciErr readNamedMatrixOfUnsignedInteger16(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, unsigned short* _pusData16); 440 441 /** 442 * Read named 32-bit integer variable data 443 * @param[in] _pstName variable name 444 * @param[out] _piRows return number of rows 445 * @param[out] _piCols return number of columns 446 * @param[out] _piData32 return array of 32-bit integers 447 * @return if the operation succeeded ( 0 ) or not ( !0 ) 448 */ 449 SciErr readNamedMatrixOfInteger32(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, int* _piData32); 450 451 /** 452 * Read named 32-bit unsigned integer variable data 453 * @param[in] _pstName variable name 454 * @param[out] _piRows return number of rows 455 * @param[out] _piCols return number of columns 456 * @param[out] _puiData32 return array of 32-bit unsigned integers 457 * @return if the operation succeeded ( 0 ) or not ( !0 ) 458 */ 459 SciErr readNamedMatrixOfUnsignedInteger32(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, unsigned int* _puiData32); 460 461 #ifdef __SCILAB_INT64__ 462 463 /** 464 * Read named 64-bit integer variable data 465 * @param[in] _pstName variable name 466 * @param[out] _piRows return number of rows 467 * @param[out] _piCols return number of columns 468 * @param[out] _pllData64 return array of 64-bit integers 469 * @return if the operation succeeded ( 0 ) or not ( !0 ) 470 */ 471 SciErr readNamedMatrixOfInteger64(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, long long* _pllData64); 472 473 /** 474 * Read named 64-bit unsigned integer variable data 475 * @param[in] _pstName variable name 476 * @param[out] _piRows return number of rows 477 * @param[out] _piCols return number of columns 478 * @param[out] _pullData64 return array of 64-bit unsigned integers 479 * @return if the operation succeeded ( 0 ) or not ( !0 ) 480 */ 481 SciErr readNamedMatrixOfUnsignedInteger64(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, unsigned long long* _pullData64); 482 483 #endif 484 485 /* shortcut functions */ 486 487 /** 488 * Check if the type of a variable is integer 489 * @param[in] _piAddress variable address 490 * @return 1 for true and 0 for false 491 */ 492 int isIntegerType(void* _pvCtx, int* _piAddress); 493 494 /** 495 * Check if the type of a named variable is integer 496 * @param[in] _pstName variable name 497 * @return 1 for true and 0 for false 498 */ 499 int isNamedIntegerType(void* _pvCtx, const char* _pstName); 500 501 /** 502 * Get scalar 8-bit integer value 503 * @param[in] _piAddress variable address 504 * @param[out] _pcData return integer value 505 * @return if the operation succeeded ( 0 ) or not ( !0 ) 506 */ 507 int getScalarInteger8(void* _pvCtx, int* _piAddress, char* _pcData); 508 509 /** 510 * Get scalar 8-bit unsigned integer value 511 * @param[in] _piAddress variable address 512 * @param[out] _pucData return integer value 513 * @return if the operation succeeded ( 0 ) or not ( !0 ) 514 */ 515 int getScalarUnsignedInteger8(void* _pvCtx, int* _piAddress, unsigned char* _pucData); 516 517 /** 518 * Get scalar 16-bit integer value 519 * @param[in] _piAddress variable address 520 * @param[out] _psData return integer value 521 * @return if the operation succeeded ( 0 ) or not ( !0 ) 522 */ 523 int getScalarInteger16(void* _pvCtx, int* _piAddress, short* _psData); 524 525 /** 526 * Get scalar 16-bit unsigned integer value 527 * @param[in] _piAddress variable address 528 * @param[out] _pusData return integer value 529 * @return if the operation succeeded ( 0 ) or not ( !0 ) 530 */ 531 int getScalarUnsignedInteger16(void* _pvCtx, int* _piAddress, unsigned short* _pusData); 532 533 /** 534 * Get scalar 32-bit integer value 535 * @param[in] _piAddress variable address 536 * @param[out] _piData return integer value 537 * @return if the operation succeeded ( 0 ) or not ( !0 ) 538 */ 539 int getScalarInteger32(void* _pvCtx, int* _piAddress, int* _piData); 540 541 /** 542 * Get scalar 32-bit unsigned integer value 543 * @param[in] _piAddress variable address 544 * @param[out] _puiData return integer value 545 * @return if the operation succeeded ( 0 ) or not ( !0 ) 546 */ 547 int getScalarUnsignedInteger32(void* _pvCtx, int* _piAddress, unsigned int* _puiData); 548 549 #ifdef __SCILAB_INT64__ 550 551 /** 552 * Get scalar 64-bit integer value 553 * @param[in] _piAddress variable address 554 * @param[out] _pllData return integer value 555 * @return if the operation succeeded ( 0 ) or not ( !0 ) 556 */ 557 int getScalarInteger64(void* _pvCtx, int* _piAddress, long long* _pllData); 558 559 /** 560 * Get scalar 64-bit unsigned integer value 561 * @param[in] _piAddress variable address 562 * @param[out] _pullData return integer value 563 * @return if the operation succeeded ( 0 ) or not ( !0 ) 564 */ 565 int getScalarUnsignedInteger64(void* _pvCtx, int* _piAddress, unsigned long long* _pullData); 566 567 #endif 568 569 /** 570 * Get named scalar 8-bit integer value 571 * @param[in] _pstName variable name 572 * @param[out] _pcData return integer value 573 * @return if the operation succeeded ( 0 ) or not ( !0 ) 574 */ 575 int getNamedScalarInteger8(void* _pvCtx, const char* _pstName, char* _pcData); 576 577 /** 578 * Get named scalar 8-bit unsigned integer value 579 * @param[in] _pstName variable name 580 * @param[out] _pucData return integer value 581 * @return if the operation succeeded ( 0 ) or not ( !0 ) 582 */ 583 int getNamedScalarUnsignedInteger8(void* _pvCtx, const char* _pstName, unsigned char* _pucData); 584 585 /** 586 * Get named scalar 16-bit integer value 587 * @param[in] _pstName variable name 588 * @param[out] _psData return integer value 589 * @return if the operation succeeded ( 0 ) or not ( !0 ) 590 */ 591 int getNamedScalarInteger16(void* _pvCtx, const char* _pstName, short* _psData); 592 593 /** 594 * Get named scalar 16-bit unsigned integer value 595 * @param[in] _pstName variable name 596 * @param[out] _pusData return integer value 597 * @return if the operation succeeded ( 0 ) or not ( !0 ) 598 */ 599 int getNamedScalarUnsignedInteger16(void* _pvCtx, const char* _pstName, unsigned short* _pusData); 600 601 /** 602 * Get named scalar 32-bit integer value 603 * @param[in] _pstName variable name 604 * @param[out] _piData return integer value 605 * @return if the operation succeeded ( 0 ) or not ( !0 ) 606 */ 607 int getNamedScalarInteger32(void* _pvCtx, const char* _pstName, int* _piData); 608 609 /** 610 * Get named scalar 32-bit unsigned integer value 611 * @param[in] _pstName variable name 612 * @param[out] _puiData return integer value 613 * @return if the operation succeeded ( 0 ) or not ( !0 ) 614 */ 615 int getNamedScalarUnsignedInteger32(void* _pvCtx, const char* _pstName, unsigned int* _puiData); 616 617 #ifdef __SCILAB_INT64__ 618 619 /** 620 * Get named scalar 64-bit integer value 621 * @param[in] _pstName variable name 622 * @param[out] _pllData return integer value 623 * @return if the operation succeeded ( 0 ) or not ( !0 ) 624 */ 625 int getNamedScalarInteger64(void* _pvCtx, const char* _pstName, long long* _pllData); 626 627 /** 628 * Get named scalar 64-bit unsigned integer value 629 * @param[in] _pstName variable name 630 * @param[out] _pullData return integer value 631 * @return if the operation succeeded ( 0 ) or not ( !0 ) 632 */ 633 int getNamedScalarUnsignedInteger64(void* _pvCtx, const char* _pstName, unsigned long long* _pullData); 634 635 #endif 636 637 /** 638 * Create scalar 8-bit integer variable 639 * @param[in] _iVar variable number 640 * @param[in] _cData 8-bit integer value 641 * @return if the operation succeeded ( 0 ) or not ( !0 ) 642 */ 643 int createScalarInteger8(void* _pvCtx, int _iVar, char _cData); 644 645 /** 646 * Create scalar 8-bit unsigned integer variable 647 * @param[in] _iVar variable number 648 * @param[in] _ucData 8-bit unsigned integer value 649 * @return if the operation succeeded ( 0 ) or not ( !0 ) 650 */ 651 int createScalarUnsignedInteger8(void* _pvCtx, int _iVar, unsigned char _ucData); 652 653 /** 654 * Create scalar 16-bit integer variable 655 * @param[in] _iVar variable number 656 * @param[in] _sData 16-bit integer value 657 * @return if the operation succeeded ( 0 ) or not ( !0 ) 658 */ 659 int createScalarInteger16(void* _pvCtx, int _iVar, short _sData); 660 661 /** 662 * Create scalar 16-bit unsigned integer variable 663 * @param[in] _iVar variable number 664 * @param[in] _usData 16-bit unsigned integer value 665 * @return if the operation succeeded ( 0 ) or not ( !0 ) 666 */ 667 int createScalarUnsignedInteger16(void* _pvCtx, int _iVar, unsigned short _usData); 668 669 /** 670 * Create scalar 32-bit integer variable 671 * @param[in] _iVar variable number 672 * @param[in] _iData 32-bit integer value 673 * @return if the operation succeeded ( 0 ) or not ( !0 ) 674 */ 675 int createScalarInteger32(void* _pvCtx, int _iVar, int _iData); 676 677 /** 678 * Create scalar 32-bit unsigned integer variable 679 * @param[in] _iVar variable number 680 * @param[in] _uiData 32-bit unsigned integer value 681 * @return if the operation succeeded ( 0 ) or not ( !0 ) 682 */ 683 int createScalarUnsignedInteger32(void* _pvCtx, int _iVar, unsigned int _uiData); 684 685 #ifdef __SCILAB_INT64__ 686 687 /** 688 * Create scalar 64-bit integer variable 689 * @param[in] _iVar variable number 690 * @param[in] _llData 64-bit integer value 691 * @return if the operation succeeded ( 0 ) or not ( !0 ) 692 */ 693 int createScalarInteger64(void* _pvCtx, int _iVar, long long _llData); 694 695 /** 696 * Create scalar 64-bit unsigned integer variable 697 * @param[in] _iVar variable number 698 * @param[in] _ullData 64-bit unsigned integer value 699 * @return if the operation succeeded ( 0 ) or not ( !0 ) 700 */ 701 int createScalarUnsignedInteger64(void* _pvCtx, int _iVar, unsigned long long _ullData); 702 703 #endif 704 705 /** 706 * Create named scalar 8-bit integer variable 707 * @param[in] _pstName variable name 708 * @param[in] _cData 8-bit integer value 709 * @return if the operation succeeded ( 0 ) or not ( !0 ) 710 */ 711 int createNamedScalarInteger8(void* _pvCtx, const char* _pstName, char _cData); 712 713 /** 714 * Create named scalar 8-bit unsigned integer variable 715 * @param[in] _pstName variable name 716 * @param[in] _ucData 8-bit unsigned integer value 717 * @return if the operation succeeded ( 0 ) or not ( !0 ) 718 */ 719 int createNamedScalarUnsignedInteger8(void* _pvCtx, const char* _pstName, unsigned char _ucData); 720 721 /** 722 * Create named scalar 16-bit integer variable 723 * @param[in] _pstName variable name 724 * @param[in] _sData 16-bit integer value 725 * @return if the operation succeeded ( 0 ) or not ( !0 ) 726 */ 727 int createNamedScalarInteger16(void* _pvCtx, const char* _pstName, short _sData); 728 729 /** 730 * Create named scalar 16-bit unsigned integer variable 731 * @param[in] _pstName variable name 732 * @param[in] _usData 16-bit unsigned integer value 733 * @return if the operation succeeded ( 0 ) or not ( !0 ) 734 */ 735 int createNamedScalarUnsignedInteger16(void* _pvCtx, const char* _pstName, unsigned short _usData); 736 737 /** 738 * Create named scalar 32-bit integer variable 739 * @param[in] _pstName variable name 740 * @param[in] _iData 32-bit integer value 741 * @return if the operation succeeded ( 0 ) or not ( !0 ) 742 */ 743 int createNamedScalarInteger32(void* _pvCtx, const char* _pstName, int _iData); 744 745 /** 746 * Create named scalar 32-bit unsigned integer variable 747 * @param[in] _pstName variable name 748 * @param[in] _uiData 32-bit unsigned integer value 749 * @return if the operation succeeded ( 0 ) or not ( !0 ) 750 */ 751 int createNamedScalarUnsignedInteger32(void* _pvCtx, const char* _pstName, unsigned int _uiData); 752 753 #ifdef __SCILAB_INT64__ 754 755 /** 756 * Create named scalar 64-bit integer variable 757 * @param[in] _pstName variable name 758 * @param[in] _llData 64-bit integer value 759 * @return if the operation succeeded ( 0 ) or not ( !0 ) 760 */ 761 int createNamedScalarInteger64(void* _pvCtx, const char* _pstName, long long _llData); 762 763 /** 764 * Create named scalar 64-bit unsigned integer variable 765 * @param[in] _pstName variable name 766 * @param[in] _ullData 64-bit unsigned integer value 767 * @return if the operation succeeded ( 0 ) or not ( !0 ) 768 */ 769 int createNamedScalarUnsignedInteger64(void* _pvCtx, const char* _pstName, unsigned long long _ullData); 770 771 #endif 772 773 #ifdef __cplusplus 774 } 775 #endif 776 #endif /* __STACK_INT_API__ */ 777