/usr/include/scilab/scicos.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 | /* Scicos
*
* Copyright (C) INRIA - METALAU Project <scicos@inria.fr>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* See the file ./license.txt
*/
#ifndef __SCICOS_H
#define __SCICOS_H
#include "machine.h"
#include "import.h"
/* maximum value for sum of number of inputs and outputs ports of a given
block of type 2 */
#define SZ_SIZE 60
/* maximum value for sum of number of inputs and outputs of a given block
of type 0 */
#define TB_SIZE 500
#ifdef _MSC_VER
typedef void (*voidf) ();
#else
typedef void (*voidf) (void);
#endif
/* Blocks prototypes */
#define I int
#define IP int*
#define DP double*
#define DPP double**
#define VP void*
#define DB scicos_block*
#define F scicos_flag
#define FP scicos_flag*
/* flag nclock ntvec rpar nrpar ipar nipar u nu */
#define ARGS_scicosm1 IP, IP, IP, DP, IP, IP, IP, DP, IP
/* flag nclock t xd x nx z nz tvec ntvec rpar nrpar ipar nipar intabl ni outabl no */
#define ARGS_scicos0 FP,IP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DP,IP,DP,IP
/* flag nclock t xd x nx z nz tvec ntvec rpar nrpar ipar nipar intabl .... */
#define ARGS_scicos FP,IP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP
/* flag nclock t xd x nx z nz tvec ntvec rpar nrpar ipar nipar args_in sz_in, n_in args_out sz_out, n_out, funptr */
#define ARGS_scicos2 FP,IP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DPP,IP,IP,DPP,IP,IP,VP
/* flag nclock t xd x nx z nz tvec ntvec rpar nrpar ipar nipar args_in sz_in, n_in args_out sz_out, n_out, funptr, g ng */
#define ARGS_scicos2z FP,IP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DPP,IP,IP,DPP,IP,IP,VP,DP,IP
/* flag nclock t residual xd x nx z nz tvec ntvec rpar nrpar ipar nipar intabl .... */
#define ARGS_scicosi FP,IP,DP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP,DP,IP
/* flag nclockf t residual xd x nx z nz tvec ntvec rpar nrpar ipar nipar args_in sz_in, n_in args_out sz_out, n_out */
#define ARGS_scicosi2 FP,IP,DP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DPP,IP,IP,DPP,IP,IP
/* flag nclockf t residual xd x nx z nz tvec ntvec rpar nrpar ipar nipar args_in sz_in, n_in args_out sz_out, n_out g ng */
#define ARGS_scicosi2z FP,IP,DP,DP,DP,DP,IP,DP,IP,DP,IP,DP,IP,IP,IP,DPP,IP,IP,DPP,IP,IP,DP,IP
/* block flag*/
#define ARGS_scicos4 DB, F
typedef void (*ScicosFm1) (ARGS_scicosm1);
typedef void (*ScicosF0) (ARGS_scicos0);
typedef void (*ScicosF) (ARGS_scicos);
typedef void (*ScicosF2) (ARGS_scicos2);
typedef void (*ScicosF2z) (ARGS_scicos2z);
typedef void (*ScicosFi) (ARGS_scicosi);
typedef void (*ScicosFi2) (ARGS_scicosi2);
typedef void (*ScicosFi2z) (ARGS_scicosi2z);
typedef void (*ScicosF4) (ARGS_scicos4);
typedef struct
{
char const* name;
ScicosF fonc;
} OpTab;
/**
* @TODO add comment
*
* @param x_in
* @param xptr_in
* @param z__
* @param work
* @param zptr
* @param modptr_in
* @param oz
* @param ozsz
* @param oztyp
* @param ozptr
* @param iz
* @param izptr
* @param uid the uid values (stack formatted)
* @param uidptr the uid length : uid_length = uidptr($+1) - uidptr($)
* @param t0_in
* @param tf_in
* @param tevts_in
* @param evtspt_in
* @param nevts
* @param pointi_in
* @param outtbptr_in
* @param outtbsz_in
* @param outtbtyp_in
* @param outtb_elem_in
* @param nelem1
* @param nlnk1
* @param funptr
* @param funtyp_in
* @param inpptr_in
* @param outptr_in
* @param inplnk_in
* @param outlnk_in
* @param rpar
* @param rpptr
* @param ipar
* @param ipptr
* @param opar
* @param oparsz
* @param opartyp
* @param opptr
* @param clkptr_in
* @param ordptr_in
* @param nordptr1
* @param ordclk_in
* @param cord_in
* @param ncord1
* @param iord_in
* @param niord1
* @param oord_in
* @param noord1
* @param zord_in
* @param nzord1
* @param critev_in
* @param nblk1
* @param ztyp
* @param zcptr_in
* @param subscr
* @param nsubs
* @param simpar
* @param flag__
* @param ierr_out
* @return <ReturnValue>
*/
int C2F(scicos) (double *x_in, int *xptr_in, double *z__,
void **work, int *zptr, int *modptr_in,
void **oz, int *ozsz, int *oztyp, int *ozptr,
char **iz, int *izptr, char **uid, int *uidptr, double *t0_in,
double *tf_in, double *tevts_in, int *evtspt_in,
int *nevts, int *pointi_in, void **outtbptr_in,
int *outtbsz_in, int *outtbtyp_in,
outtb_el * outtb_elem_in, int *nelem1, int *nlnk1,
void** funptr, int *funtyp_in, int *inpptr_in,
int *outptr_in, int *inplnk_in, int *outlnk_in,
double *rpar, int *rpptr, int *ipar, int *ipptr,
void **opar, int *oparsz, int *opartyp, int *opptr,
int *clkptr_in, int *ordptr_in, int *nordptr1,
int *ordclk_in, int *cord_in, int *ncord1,
int *iord_in, int *niord1, int *oord_in,
int *noord1, int *zord_in, int *nzord1,
int *critev_in, int *nblk1, int *ztyp, int *zcptr_in, int *subscr, int *nsubs, double *simpar, int *flag__, int *ierr_out);
/**
* \brief Discrete time counter type
*
* Used on [evtdly4.c](@ref evtdly4), [m_frequ.c](@ref m_frequ) or
* [time_delay.c](@ref time_delay) to manage time difference.
*
* Warning: effect maximum simulation time (in term of max simulation step).
*/
typedef long long int time_counter_t;
/**
*
*/
void callf(double *t, scicos_block * block, scicos_flag * flag);
/**
*
*/
int get_phase_simulation(void);
/**
*
*/
void set_block_error(int err);
/**
*
*/
double get_scicos_time(void);
/**
*
*/
void set_scicos_time(double t);
/**
*
*/
void set_pointer_xproperty(int *pointer);
/**
*
*/
void do_cold_restart(void);
/**
*
*/
int get_block_number(void);
/**
*
*/
void end_scicos_sim(void);
/**
*
*/
void Coserror(const char *fmt, ...);
/**
*
*/
void* funnum2(char *fname);
#endif
|