Skip to content

AFNI/NIfTI Server

Sections
Personal tools
You are here: Home » AFNI » Documentation

Doxygen Source Code Documentation


Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals   Search  

epsim.c File Reference

#include "mrilib.h"

Go to the source code of this file.


Defines

#define FatalError(str)   ( fprintf(stderr,"\nEPsim error: %s\n",(str)) , exit(1) )
#define CONTROL_PORT   7954
#define TCP_PORT   7955
#define SHM_NAME   "shm:epsim:1M"
#define SHORT_DELAY   1
#define LONG_DELAY   10

Functions

void Syntax (void)
void F3D_initialize_user_data (int Argc, char *Argv[], Boolean *verbose, Boolean *nsize, int *zfirst, int *zlast, int *tfirst, int *tlast, char *input_filename, char *prefix_filename)
int main (int argc, char *argv[])

Variables

int use_shm = 1
int delay = 100
int use_child = 0
int use_3T = 0
char * fname_3T = NULL
int ntimes = 1
char host [128] = "localhost"
char buf [4096]
int nbytes
int jj
int first = 1
IOCHANioc = NULL

Define Documentation

#define CONTROL_PORT   7954
 

Definition at line 16 of file epsim.c.

Referenced by main().

#define FatalError str       ( fprintf(stderr,"\nEPsim error: %s\n",(str)) , exit(1) )
 

Definition at line 3 of file epsim.c.

Referenced by AFNI_make_widgets(), AFNI_parse_args(), AFNI_read_images(), AFNI_read_inputs(), EvalSpline(), F3D_initialize_user_data(), main(), T3D_initialize_user_data(), and T3D_read_images().

#define LONG_DELAY   10
 

Definition at line 23 of file epsim.c.

Referenced by main().

#define SHM_NAME   "shm:epsim:1M"
 

Definition at line 18 of file epsim.c.

Referenced by main().

#define SHORT_DELAY   1
 

Definition at line 22 of file epsim.c.

#define TCP_PORT   7955
 

Definition at line 17 of file epsim.c.

Referenced by main().


Function Documentation

void F3D_initialize_user_data int    Argc,
char *    Argv[],
Boolean *    verbose,
Boolean *    nsize,
int *    zfirst,
int *    zlast,
int *    tfirst,
int *    tlast,
char *    input_filename,
char *    prefix_filename
 

Definition at line 55 of file epsim.c.

References delay, FatalError, fname_3T, host, ntimes, strtod(), Syntax(), use_3T, use_child, and use_shm.

00060 {
00061    const int BIGNUMBER = 10000;
00062    int nopt;
00063    float ftemp;
00064 
00065    if (Argc < 2)  Syntax();
00066 
00067    /* --- set default values --- */
00068    *verbose = FALSE;
00069    *nsize = FALSE;
00070    *zfirst = 1;
00071    *zlast = BIGNUMBER;
00072    *tfirst = 1;
00073    *tlast = BIGNUMBER;
00074    strcpy(input_filename, "");
00075    strcpy(prefix_filename, "");
00076 
00077    
00078    /* --- scan options --- */
00079    nopt = 1 ; 
00080    while ( nopt < Argc && Argv[nopt][0] == '-' )
00081    {
00082      
00083        /* --- help option --- */
00084       if ( strncmp(Argv[nopt],"-help",4) == 0 )  Syntax() ;
00085 
00086       /* --- verbose option --- */
00087       if ( strncmp(Argv[nopt],"-v",2) == 0 )  
00088       {  
00089          *verbose = TRUE;
00090          nopt++ ;
00091          continue;
00092       }
00093 #if 0
00094       /* --- nsize option --- */
00095       if ( strncmp(Argv[nopt],"-nsize",4) == 0 ) 
00096       {
00097          *nsize = TRUE;
00098          nopt++ ;
00099          continue;
00100       }
00101 #endif
00102 
00103       /*-- -times n --*/
00104       if( strncmp(Argv[nopt],"-times",4) == 0 ){
00105          if( ++nopt >= Argc ) FatalError("-times needs an argument") ;
00106          ftemp = strtod( Argv[nopt] , NULL ) ;
00107          if( ftemp >= 1.0 ) ntimes = (int) ftemp ;
00108          nopt++ ; continue ;   
00109       }
00110 
00111 #if 0
00112       /* --- zfirst option --- */
00113       if ( strncmp(Argv[nopt],"-zfirst",4) == 0 )
00114       {
00115          if( ++nopt >= Argc ) FatalError("-zfirst needs an argument") ;
00116          ftemp = strtod( Argv[nopt] , NULL ) ;
00117          *zfirst = (int) ftemp ;
00118          nopt++ ;
00119          continue ;   
00120       }
00121 
00122       /* --- zlast option --- */
00123       if ( strncmp(Argv[nopt],"-zlast",4) == 0 )
00124       {
00125          if( ++nopt >= Argc ) FatalError("-zlast needs an argument") ;
00126          ftemp = strtod( Argv[nopt] , NULL ) ;
00127          *zlast = (int) ftemp ;
00128          nopt++ ;
00129          continue ;
00130       }
00131 
00132       /* --- tfirst option --- */ 
00133       if ( strncmp(Argv[nopt],"-tfirst",4) == 0 )
00134       {
00135          if( ++nopt >= Argc ) FatalError("-tfirst needs an argument") ;
00136          ftemp = strtod( Argv[nopt] , NULL ) ;
00137          *tfirst = (int) ftemp ;
00138          nopt++ ;
00139          continue ;
00140       }
00141        
00142       /* --- tlast option --- */
00143       if ( strncmp(Argv[nopt],"-tlast",4) == 0 )
00144       {
00145          if( ++nopt >= Argc ) FatalError("-tlast needs an argument") ;
00146          ftemp = strtod( Argv[nopt] , NULL ) ;
00147          *tlast = (int) ftemp ;
00148          nopt++ ;
00149          continue ;
00150       }
00151 #endif
00152 
00153       if( strncmp(Argv[nopt],"-shm",4) == 0 ){
00154          use_shm = 1 ;
00155          nopt++ ; continue ;
00156       }
00157 
00158       if( strncmp(Argv[nopt],"-tcp",4) == 0 ){
00159          use_shm = 0 ;
00160          nopt++ ; continue ;
00161       }
00162 
00163       if( strncmp(Argv[nopt],"-child",4) == 0 ){
00164          use_child = 1 ;
00165          nopt++ ; continue ;
00166       }
00167 
00168       if( strncmp(Argv[nopt],"-3T",4) == 0 ){
00169          if( ++nopt >= Argc ) FatalError("-3T needs a filename") ;
00170          fname_3T = Argv[nopt] ;
00171          use_3T = 1 ;
00172          nopt++ ; continue ;
00173       }
00174 
00175       if( strncmp(Argv[nopt],"-delay",4) == 0 ){
00176          if ( ++nopt >= Argc ) FatalError("-delay needs a number") ;
00177          ftemp = strtod( Argv[nopt] , NULL ) ;
00178          if( ftemp >= 0.0 ) delay = (int) ftemp ;
00179          nopt++ ; continue ;
00180       }
00181 
00182       if( strncmp(Argv[nopt],"-host",4) == 0 ){
00183          if ( ++nopt >= Argc ) FatalError("-host needs a cpu name") ;
00184          strcpy( host , Argv[nopt] ) ;
00185          nopt++ ; continue ;
00186       }
00187     
00188       /* --- input file name --- */
00189       if ( strncmp(Argv[nopt],"-input",4) == 0 )
00190       {
00191          if ( ++nopt >= Argc ) FatalError("-input needs a name") ;
00192          strcpy ( input_filename , Argv[nopt] ) ;
00193          nopt++ ; continue ;
00194       }
00195 
00196 #if 0      
00197       /* --- prefix name --- */
00198       if ( strncmp(Argv[nopt],"-prefix",4) == 0 )
00199       {
00200          if ( ++nopt >= Argc ) FatalError("-prefix needs a name") ;
00201          strcpy ( prefix_filename , Argv[nopt] ) ;
00202          nopt++ ; continue ;
00203       }
00204 #endif
00205 
00206       /* --- exception --- */
00207       fprintf(stderr,"Don't understand argument %s\n",Argv[nopt]) ;
00208       FatalError ("Illegal input");
00209       
00210    }  /* nopt */
00211    
00212    /* --- check for valid inputs --- */
00213 #if 0
00214    if (*zfirst > *zlast)   
00215       FatalError ("Cannot have zfirst > zlast");
00216    if (*tfirst > *tlast)   
00217       FatalError ("Cannot have tfirst > tlast");
00218    if (!strcmp(prefix_filename,"")) 
00219       FatalError ("Must specify prefix file name.");
00220 #endif
00221    if (!strcmp(input_filename,"")) 
00222       FatalError ("Must specify input file name. ");
00223 
00224    if( strcmp(host,"localhost") != 0 && use_shm ){
00225       printf("EPsim: must use TCP/IP for host %s\n",host) ;
00226       use_shm = 0 ;
00227    }
00228 
00229    if( use_child && use_3T )
00230       FatalError("Can't use -child and -3T together!") ;
00231 
00232    return;
00233 }

int main int    argc,
char *    argv[]
 

\** File : SUMA.c

Author:
: Ziad Saad Date : Thu Dec 27 16:21:01 EST 2001
Purpose :

Input paramters :

Parameters:
param  Usage : SUMA ( )
Returns :
Returns:
Support :
See also:
OpenGL prog. Guide 3rd edition , varray.c from book's sample code
Side effects :

Definition at line 237 of file epsim.c.

References argc, THD_datablock::brick, buf, MRI_DATA::byte_data, MRI_DATA::complex_data, CONTROL_PORT, THD_3dim_dataset::daxes, THD_3dim_dataset::dblk, delay, THD_diskptr::dimsizes, THD_datablock::diskptr, MRI_DATA::double_data, F3D_initialize_user_data(), FatalError, first, MRI_DATA::float_data, fname_3T, host, MRI_IMAGE::im, IMAGE_IN_IMARR, MRI_DATA::int_data, iochan_clearcheck(), IOCHAN_CLOSE, iochan_goodcheck(), iochan_init(), iochan_sendall(), iochan_sleep(), jj, LONG_DELAY, mri_data_pointer(), mri_free(), mri_new_vol_empty(), mri_nsize(), mri_write(), nbytes, ntimes, THD_diskptr::nvals, MRI_IMAGE::nvox, nz, MRI_IMAGE::pixel_size, MRI_DATA::rgb_data, SHM_NAME, MRI_DATA::short_data, TCP_PORT, THD_load_datablock(), THD_MAX_NAME, THD_open_one_dataset(), THD_dataxes::xxdel, THD_dataxes::xxorient, THD_dataxes::yydel, THD_dataxes::yyorient, THD_dataxes::zzdel, THD_dataxes::zzorg, and THD_dataxes::zzorient.

00238 {
00239    /* --- variable declarations --- */
00240    THD_3dim_dataset * dset ;
00241    THD_diskptr * dskptr;
00242    int nx, ny, nz, nv, itim;
00243    Boolean verbose, nsize;
00244    int ok;
00245    MRI_IMAGE * im, * im2d, * tim2d;
00246    MRI_TYPE kind;
00247    int ibr, iz, count, izz,izsub ;
00248    int zfirst, zlast, tfirst, tlast;
00249    char input_filename[THD_MAX_NAME],
00250         prefix_filename[THD_MAX_NAME], 
00251         output_filename[THD_MAX_NAME],
00252         str[THD_MAX_NAME];
00253 
00254    /* --- get user command line inputs --- */
00255    F3D_initialize_user_data (argc, argv, 
00256       &verbose, &nsize,
00257       &zfirst, &zlast, &tfirst, &tlast,
00258       input_filename, prefix_filename );
00259       
00260    /* --- open 3d data set --- */
00261    dset = THD_open_one_dataset( input_filename ) ;
00262    if( dset == NULL )  FatalError ("Unable to open input file") ;
00263    if ( verbose )  printf("EPsim: 3d Dataset File = %s\n" , input_filename ) ; 
00264       
00265    /* --- load data block --- */
00266    ok = THD_load_datablock( dset->dblk );
00267    if ( !ok )  FatalError ("Unable to load data block") ;
00268 
00269    /* --- get data dimensions --- */
00270    dskptr = dset->dblk->diskptr;
00271    nx = dskptr->dimsizes[0];
00272    ny = dskptr->dimsizes[1];
00273    nz = dskptr->dimsizes[2];
00274    nv = dskptr->nvals;
00275    if ( verbose )  
00276       printf ("EPsim: nx=%d  ny=%d  nz=%d  nv=%d\n",   nx, ny, nz, nv);
00277 
00278    /* --- check for valid user inputs --- */
00279    if (zfirst < 1) zfirst = 1;
00280    if (zlast > nz) zlast = nz;
00281    if (tfirst < 1) tfirst = 1;
00282    if (tlast > nv) tlast = nv;
00283    if (zfirst > nz)  FatalError ("No data selected -- zfirst too large.");
00284    if (zlast < 1)    FatalError ("No data selected -- zlast too small.");
00285    if (tfirst > nv)  FatalError ("No data selected -- tfirst too large.");
00286    if (tlast < 1)    FatalError ("No data selected -- tlast too small.");    
00287 
00288    /* --- get data type --- */
00289    kind = IMAGE_IN_IMARR ( dset->dblk->brick, 0 ) -> kind;
00290    if ( verbose )  printf ("EPsim: datum = %s \n", MRI_TYPE_name[kind]);
00291 
00292    /* --- create 2d data pointer --- */
00293    im2d = mri_new_vol_empty ( nx, ny, 1, kind );
00294 
00295    /*** open channel to AFNI ***/
00296 
00297    sprintf( buf , "tcp:%s:%d" , host , CONTROL_PORT ) ;
00298    ioc = iochan_init( buf , "create" ) ;
00299    if( ioc == NULL ) FatalError("Cannot open control channel to AFNI") ;
00300 
00301    if( verbose ) printf("EPsim: waiting for AFNI") ; fflush(stdout) ;
00302 
00303    while(1){
00304       iz = iochan_goodcheck( ioc , 1000 ) ;
00305       if( iz < 0 ) FatalError("control channel failed") ;
00306       if( iz > 0 ) break ;
00307       if( verbose ){ printf(".") ; fflush(stdout) ; }
00308    }
00309    if( verbose ){ printf("!\n") ; fflush(stdout) ; }
00310 
00311    if( use_shm ) strcpy( buf , SHM_NAME ) ;
00312    else          sprintf(buf , "tcp:%s:%d" , host , TCP_PORT ) ;
00313 
00314    if( use_child ){
00315       jj = strlen(buf) ;
00316       sprintf(buf+jj,"\ncat epsim.out") ;
00317    } else if( use_3T ){
00318       jj = strlen(buf) ;
00319       sprintf(buf+jj,"\n3T_toafni -dummy < %s" , fname_3T ) ;
00320    }
00321 
00322    if( verbose ) printf("sending control data: %s\n",buf) ;
00323 
00324    jj = iochan_sendall( ioc , buf , strlen(buf)+1 ) ;
00325    if( jj < 0 ) FatalError("send control data failed") ;
00326    iochan_sleep(LONG_DELAY) ;                      /* wait a bit */
00327    while( ! iochan_clearcheck(ioc,LONG_DELAY) )    /* loop until cleared */
00328       iochan_sleep(LONG_DELAY) ;
00329 
00330    if( verbose ) printf("EPsim: closing control channel\n") ;
00331    IOCHAN_CLOSE(ioc) ;
00332 
00333    /*** now open data channel ***/
00334 
00335    ioc = iochan_init( buf , "create" ) ;
00336    if( ioc == NULL ) FatalError("Cannot open data channel to AFNI") ;
00337 
00338    if( verbose ) printf("EPsim: waiting for AFNI") ; fflush(stdout) ;
00339 
00340    while(1){
00341       iz = iochan_goodcheck( ioc , 1000 ) ;
00342       if( iz < 0 ) FatalError("data channel failed") ;
00343       if( iz > 0 ) break ;
00344       if( verbose ){ printf(".") ; fflush(stdout) ; }
00345    }
00346    if( verbose ){ printf("!\n") ; fflush(stdout) ; }
00347 
00348    if( use_child ){
00349       FILE * fp = fopen( "epsim.out" , "w" ) ;
00350       if( fp == NULL ){fprintf(stderr,"Can't open epsim.out!\n");IOCHAN_CLOSE(ioc);exit(1);}
00351       fprintf( fp ,  "ZNUM %d\n"
00352                      "ZDELTA %g\n"
00353                      "XYFOV %g %g\n"
00354                      "ZFIRST %g%c\n"
00355                      "ZORDER seq\n"
00356                      "XYZAXES %s %s %s\n"
00357                      "ACQUISITION_TYPE %s\n"
00358                    ,
00359                      nz ,
00360                      fabs(dset->daxes->zzdel) ,
00361                      fabs(dset->daxes->xxdel)*nx , fabs(dset->daxes->yydel)*ny ,
00362                      fabs(dset->daxes->zzorg) , ORIENT_first[dset->daxes->zzorient] ,
00363                      ORIENT_shortstr[dset->daxes->xxorient] ,
00364                        ORIENT_shortstr[dset->daxes->yyorient] ,
00365                        ORIENT_shortstr[dset->daxes->zzorient] ,
00366                      ( ((zlast-zfirst)>0) ? "2D+zt" : "2D+z" )
00367                    ) ;
00368       fclose(fp) ;
00369       if( verbose ) printf("EPsim: wrote epsim.out file\n") ;
00370 
00371       sprintf( buf , "XYMATRIX %d %d\n"
00372                      "DATUM %s\n"
00373                    ,
00374                      nx , ny ,
00375                      MRI_TYPE_name[kind]
00376                    ) ;
00377    } else if( use_3T ){
00378       sprintf( buf , "XYMATRIX %d %d\n"
00379                      "DATUM %s\n"
00380                    ,
00381                      nx , ny ,
00382                      MRI_TYPE_name[kind]
00383                    ) ;
00384    } else {
00385       sprintf( buf , "ZNUM %d\n"
00386                      "ZDELTA %g\n"
00387                      "XYFOV %g %g\n"
00388                      "ZFIRST %g%c\n"
00389                      "ZORDER seq\n"
00390                      "XYZAXES %s %s %s\n"
00391                      "ACQUISITION_TYPE %s\n"
00392                      "XYMATRIX %d %d\n"
00393                      "DATUM %s\n"
00394                    ,
00395                      nz ,
00396                      fabs(dset->daxes->zzdel) ,
00397                      fabs(dset->daxes->xxdel)*nx , fabs(dset->daxes->yydel)*ny ,
00398                      fabs(dset->daxes->zzorg) , ORIENT_first[dset->daxes->zzorient] ,
00399                      ORIENT_shortstr[dset->daxes->xxorient] ,
00400                        ORIENT_shortstr[dset->daxes->yyorient] ,
00401                        ORIENT_shortstr[dset->daxes->zzorient] ,
00402                      ( ((zlast-zfirst)>0) ? "2D+zt" : "2D+z" ) ,
00403                      nx , ny ,
00404                      MRI_TYPE_name[kind]
00405                    ) ;
00406    }
00407 
00408    nbytes = im2d->nvox * im2d->pixel_size ;
00409 
00410    for( itim=0 ; itim < ntimes ; itim++ ){
00411    count = 0;
00412 
00413    if( use_3T ) izsub = (nz%2 == 0) ? (nz-1) : (nz) ;
00414 
00415    for ( ibr = tfirst-1 ; ibr < tlast ; ibr++ )
00416    {
00417       for ( iz = zfirst-1 ; iz < zlast ; iz++ )
00418       {
00419          /* --- set 2d data pointer into 3d data set --- */
00420          im = IMAGE_IN_IMARR ( dset->dblk->brick, ibr ); 
00421 
00422          if( use_3T ){
00423            izz = 2*iz ; if( izz >= nz ) izz -= izsub ;  /* alt ordering */
00424          } else {
00425            izz = iz ;                                   /* seq ordering */
00426          }
00427 
00428          switch ( kind )
00429          {
00430             case MRI_byte :
00431                im2d->im.byte_data = im->im.byte_data + izz * nx * ny ;
00432             break;
00433             case MRI_short :
00434                im2d->im.short_data = im->im.short_data + izz * nx * ny ;
00435             break;
00436             case MRI_int :
00437                im2d->im.int_data = im->im.int_data + izz * nx * ny ;
00438             break;
00439             case MRI_float :
00440                im2d->im.float_data = im->im.float_data + izz * nx * ny ;
00441             break;
00442             case MRI_double :
00443                im2d->im.double_data = im->im.double_data + izz * nx * ny ;
00444             break;
00445             case MRI_complex :
00446                im2d->im.complex_data = im->im.complex_data + izz * nx * ny ;
00447             break;
00448             case MRI_rgb :
00449                im2d->im.rgb_data = im->im.rgb_data + izz * nx * ny ;
00450             break;
00451             default :
00452                FatalError ("Illegal data type encountered.");
00453          } 
00454 
00455 #if 0
00456          /* --- create 2d data file name --- */
00457          strcpy ( output_filename, prefix_filename );
00458          if ( nv > 1 )  
00459             sprintf ( str, "%02d.%04d", izz+1, ibr+1 );
00460          else
00461             if ( nz > 999 )
00462                sprintf ( str, ".%04d", izz+1 );
00463             else
00464                sprintf ( str, ".%03d", izz+1 );
00465          strcat ( output_filename, str );
00466 #endif
00467 
00468          if( first ){
00469             if( verbose )
00470                printf("EPsim: sending this data as header info in image channel:\n%s\n",buf) ;
00471             jj = iochan_sendall( ioc , buf , strlen(buf)+1 ) ;
00472             if( jj < 0 ) FatalError("send header info failed") ;
00473             first = 0 ;
00474          }
00475  
00476          if ( verbose )
00477             printf ( "EPsim: sending 2D image izz=%d ibr=%d\n", izz,ibr ); 
00478 
00479          jj = iochan_sendall( ioc , mri_data_pointer(im2d) , nbytes ) ;
00480          if( jj < 0 ) FatalError("send image failed") ;
00481          iochan_sleep( delay ) ;
00482 
00483 #if 0
00484          if ( !nsize )
00485             ok = mri_write ( output_filename, im2d );
00486          else
00487          {
00488             tim2d = mri_nsize (im2d);
00489             ok = mri_write ( output_filename, tim2d);
00490             mri_free (tim2d);
00491          }
00492 #endif
00493          
00494          count ++ ;
00495 
00496       }  /* --- iz --- */
00497    }  /* --- ibr --- */ 
00498    sleep(20) ;
00499    } /* -- itim --*/
00500 
00501    if ( verbose )  printf ("Sent %d 2D images. \n", count);
00502 
00503    if( verbose ){ printf("Waiting for AFNI") ; fflush(stdout) ; }
00504    while(1){
00505       jj = iochan_clearcheck(ioc,1000) ;
00506       if( jj ) break ;
00507       if( verbose ){ printf(".") ; fflush(stdout) ; }
00508    }
00509    if( verbose ) printf("!\n") ;
00510    iochan_sleep(100) ; IOCHAN_CLOSE(ioc) ;
00511 
00512    exit(0) ;
00513 }

void Syntax void   
 

31 July 1996: be more specific about errors *

Definition at line 27 of file epsim.c.

00028 {
00029    printf(
00030     "Program:   epsim \n\n"
00031     "Purpose:   Extract 2D data files from 3D dataset & send to AFNI\n"
00032     "Usage:     epsim [-v] [-shm | -tcp] [-delay mmm] [-host cpu] [-child]\n"
00033     "                 -input fname \n"
00034     "Options:   \n"
00035     "-v                 Print out verbose information.\n"
00036 #if 0
00037     "-nsize             Adjust size of 2d data file to be NxN, by padding \n"
00038     "                     with zeros, where N is a power of 2. \n"
00039 #endif
00040     "-shm               Use shared memory to communicate with AFNI. \n"
00041     "-tcp               Use TCP/IP to communicate with AFNI. \n"
00042     "-delay mmm         Delay mmm milliseconds between slices. \n"
00043     "-host cpu          Access AFNI on host named 'cpu'. \n"
00044     "-child             Tell AFNI to read header info from a child. \n"
00045     "-3T fname          Tell AFNI to get data from the 3T_toafni program\n"
00046     "                     with the 3T control data stored in file 'fname'.\n"
00047     "-input fname       Read from dataset in file 'fname'. \n"
00048     "-times n           Send the dataset 'n' times.\n"
00049    ) ;
00050    exit(0) ;
00051 }

Variable Documentation

char buf[4096] [static]
 

Definition at line 13 of file epsim.c.

Referenced by main().

int delay = 100 [static]
 

Definition at line 7 of file epsim.c.

Referenced by F3D_initialize_user_data(), and main().

int first = 1 [static]
 

Definition at line 14 of file epsim.c.

Referenced by main().

char* fname_3T = NULL
 

Definition at line 10 of file epsim.c.

Referenced by F3D_initialize_user_data(), and main().

char host[128] = "localhost" [static]
 

Definition at line 12 of file epsim.c.

Referenced by F3D_initialize_user_data(), and main().

IOCHAN* ioc = NULL [static]
 

Definition at line 20 of file epsim.c.

int jj [static]
 

Definition at line 14 of file epsim.c.

Referenced by main().

int nbytes [static]
 

Definition at line 14 of file epsim.c.

Referenced by main().

int ntimes = 1 [static]
 

Definition at line 11 of file epsim.c.

Referenced by F3D_initialize_user_data(), and main().

int use_3T = 0 [static]
 

Definition at line 9 of file epsim.c.

Referenced by F3D_initialize_user_data().

int use_child = 0 [static]
 

Definition at line 8 of file epsim.c.

Referenced by F3D_initialize_user_data().

int use_shm = 1 [static]
 

Definition at line 6 of file epsim.c.

Referenced by F3D_initialize_user_data().

 

Powered by Plone

This site conforms to the following standards: