/usr/include/scilab/api_stack_string.h is in scilab-include 6.0.1-1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 | /*
* Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
* Copyright (C) 2009 - DIGITEO - Antoine ELIAS
* Copyright (C) 2009 - DIGITEO - Allan CORNET
*
* Copyright (C) 2012 - 2016 - Scilab Enterprises
*
* This file is hereby licensed under the terms of the GNU GPL v2.0,
* pursuant to article 5.3.4 of the CeCILL v.2.1.
* This file was originally licensed under the terms of the CeCILL v2.1,
* and continues to be available under such terms.
* For more information, see the COPYING file which you should have received
* along with this program.
*/
#ifndef __STACK_STRING_API__
#define __STACK_STRING_API__
#if !defined(__INTERNAL_API_SCILAB__)
#error Do not include api_stack_string.h. Include api_scilab.h instead.
#endif
#include <wchar.h>
#ifdef __cplusplus
extern "C" {
#endif
#include "dynlib_api_scilab.h"
/*****************************/
/* string matrix functions */
/*******************************/
/**
* Get strings variable data
* @param[in] _piAddress variable address
* @param[out] _piRows return number of rows
* @param[out] _piCols return number of columns
* @param[out] _piLength return strings lengths
* @param[out] _pstStrings return array of char
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr getMatrixOfString(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
/**
* Get wide strings variable data
* @param[in] _piAddress variable address
* @param[out] _piRows return number of rows
* @param[out] _piCols return number of columns
* @param[out] _piwLength return strings length
* @param[out] _pwstStrings return array of wide char
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr getMatrixOfWideString(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, int* _piwLength, wchar_t** _pwstStrings);
/**
* Create strings variable data
* @param[in] _iVar variable number
* @param[in] _iRows number of rows
* @param[in] _iCols number of columns
* @param[in] _pstStrings array of strings ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr createMatrixOfString(void* _pvCtx, int _iVar, int _iRows, int _iCols, const char* const* _pstStrings);
/**
* Create wide strings variable data
* @param[in] _iVar variable number
* @param[in] _iRows Number of rows
* @param[in] _iCols Number of columns
* @param[in] _pwstStrings array of strings ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr createMatrixOfWideString(void* _pvCtx, int _iVar, int _iRows, int _iCols, const wchar_t* const* _pwstStrings);
/**
* Create strings variable data
* @param[in] _pstName variable name
* @param[in] _iRows Number of row
* @param[in] _iCols Number of column
* @param[in] _pstStrings array of strings ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr createNamedMatrixOfString(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const char* const* _pstStrings);
/**
* Create wide strings variable data
* @param[in] _pstName variable name
* @param[in] _iRows number of rows
* @param[in] _iCols number of columns
* @param[in] _pwstStrings array of wide strings ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr createNamedMatrixOfWideString(void* _pvCtx, const char* _pstName, int _iRows, int _iCols, const wchar_t* const* _pwstStrings);
/**
* Get strings variable data
* @param[in] _pstName variable name
* @param[out] _piRows number of rows
* @param[out] _piCols number of columns
* @param[out] _piLength return strings lengths
* @param[in] _pstStrings array of strings ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr readNamedMatrixOfString(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, int* _piLength, char** _pstStrings);
/**
* Get wide strings variable data
* @param[in] _pstName variable name
* @param[out] _piRows number of rows
* @param[out] _piCols number of columns
* @param[out] _piwLength return strings length
* @param[in] _pstwStrings array of strings ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
SciErr readNamedMatrixOfWideString(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, int* _piwLength, wchar_t** _pwstStrings);
/*shortcut functions*/
/**
* check if the variable type is string
* @param[in] _piAddress variable address
* @return 1 for true and 0 for false
*/
int isStringType(void* _pvCtx, int* _piAddress);
/**
* check if the variable type is string
* @param[in] _pstName variable name
* @return 1 for true and 0 for false
*/
int isNamedStringType(void* _pvCtx, const char* _pstName);
/**
* Get single string variable data
* @param[in] _piAddress variable address
* @param[out] _pstData return allocated string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedSingleString(void* _pvCtx, int* _piAddress, char** _pstData);
/**
* Get single wide string variable data
* @param[in] _piAddress variable address
* @param[out] _pwstData return allocated wide string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedSingleWideString(void* _pvCtx, int* _piAddress, wchar_t** _pwstData);
/**
* Get strings variable data
* @param[in] _piAddress variable address
* @param[out] _piRows return number of rows
* @param[out] _piCols return number of columns
* @param[out] _pstData return allocated array of string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedMatrixOfString(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, char*** _pstData);
/**
* Get wide strings variable data
* @param[in] _piAddress variable address
* @param[out] _piRows return number of rows
* @param[out] _piCols return number of columns
* @param[out] _pwstData return allocated array of wide string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedMatrixOfWideString(void* _pvCtx, int* _piAddress, int* _piRows, int* _piCols, wchar_t*** _pwstData);
/**
* Get single named string variable data
* @param[in] _pstName variable name
* @param[out] _pstData return allocated string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedNamedSingleString(void* _pvCtx, const char* _pstName, char** _pstData);
/**
* Get single named string variable data
* @param[in] _pstName variable name
* @param[out] _pwstData return allocated string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedNamedSingleWideString(void* _pvCtx, const char* _pstName, wchar_t** _pwstData);
/**
* Get named strings variable data
* @param[in] _pstName variable name
* @param[out] _piRows number of rows
* @param[out] _piCols number of columns
* @param[out] _pstData return allocated array of string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedNamedMatrixOfString(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, char*** _pstData);
/**
* Get named wide strings variable data
* @param[in] _pstName variable name
* @param[out] _piRows number of rows
* @param[out] _piCols number of columns
* @param[out] _pwstData return allocated array of wide string pointer ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int getAllocatedNamedMatrixOfWideString(void* _pvCtx, const char* _pstName, int* _piRows, int* _piCols, wchar_t*** _pwstData);
/**
* Create single string variable data
* @param[in] _iVar variable number
* @param[in] _pstStrings string ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int createSingleString(void* _pvCtx, int _iVar, const char* _pstStrings);
/**
* Create single string variable data
* @param[in] _iVar variable number
* @param[in] _iLen string length to reserve space in stack
* @param[out] pointer on the new single string
* @return if the operation succeeded (0) or not ( !0 )
*/
int allocSingleString(void* _pvCtx, int _iVar, int _iLen, const char** _pstStrings);
/**
* Create single wide string variable data
* @param[in] _iVar variable number
* @param[in] _pwstStrings wide string ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int createSingleWideString(void* _pvCtx, int _iVar, const wchar_t* _pwstStrings);
/**
* Create named single string variable data
* @param[in] _pstName variable name
* @param[in] _pstStrings string ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int createNamedSingleString(void* _pvCtx, const char* _pstName, const char* _pstStrings);
/**
* Create named single wide string variable data
* @param[in] _pstName variable name
* @param[in] _pwstStrings wide string ( null terminated )
* @return if the operation succeeded (0) or not ( !0 )
*/
int createNamedSingleWideString(void* _pvCtx, const char* _pstName, const wchar_t* _pwstStrings);
/**
* free data allocated by shortcut functions ( named or not )
* @param[in] _pstData string data
*/
void freeAllocatedSingleString(char* _pstData);
/**
* free data allocated by shortcut functions ( named or not )
* @param[in] _pwstData wide string data
*/
void freeAllocatedSingleWideString(wchar_t* _pwstData);
/**
* free data allocated by shortcut functions ( named or not )
* @param[in] _iRows number of rows
* @param[in] _iCols number of columns
* @param[in] _pstData matrix of string data
*/
void freeAllocatedMatrixOfString(int _iRows, int _iCols, char** _pstData);
/**
* free data allocated by shortcut functions ( named or not )
* @param[in] _iRows number of rows
* @param[in] _iCols number of columns
* @param[in] _pwstData matrix of wide string data
*/
void freeAllocatedMatrixOfWideString(int _iRows, int _iCols, wchar_t** _pwstData);
#ifdef __cplusplus
}
#endif
#endif /* __STACK_STRING_API__ */
|