diff --git a/src/cdi_int.c b/src/cdi_int.c index a915d736c3da12f28175c47668da1e2f887ec9b2..53d2afa77119aaf1fb3f98e110c53f79063f690a 100644 --- a/src/cdi_int.c +++ b/src/cdi_int.c @@ -389,12 +389,6 @@ const char *strfiletype(int filetype) } -int streamSize(void) -{ - return reshCountType ( &streamOps ); -} - - void cdiDefGlobal(const char *string, int val) { if ( strcmp(string, "REGULARGRID") == 0 ) cdiDataUnreduced = val; diff --git a/src/cdi_int.h b/src/cdi_int.h index 858d3edba44c8e6175001c03f0683217533a9552..9fa869e502b366e5cdadc752873de04ae0a178d5 100644 --- a/src/cdi_int.h +++ b/src/cdi_int.h @@ -318,8 +318,7 @@ int cdiInqAccesstype(int streamID); int getByteswap(int byteorder); -int streamSize (); -void streamGetIndexList ( int, int * ); +void cdiStreamGetIndexList(unsigned numIDs, int IDs[numIDs]); void cdiInitialize(void); diff --git a/src/grid.c b/src/grid.c index 63e7e7a458ac600872a892f643beb5005dc0094b..a30557c27accf4cbcef4d00352b188396c939d23 100644 --- a/src/grid.c +++ b/src/grid.c @@ -201,9 +201,9 @@ void grid_copy(grid_t *gridptr2, grid_t *gridptr1) gridptr2->self = gridID2; } -int gridSize(void) +unsigned cdiGridCount(void) { - return reshCountType ( &gridOps ); + return reshCountType(&gridOps); } // used also in CDO @@ -3860,9 +3860,9 @@ void gridInqUUID(int gridID, unsigned char uuid[CDI_UUID_SIZE]) } -void gridGetIndexList ( int ngrids, int * gridIndexList ) +void cdiGridGetIndexList(unsigned ngrids, int * gridIndexList) { - reshGetResHListOfType ( ngrids, gridIndexList, &gridOps ); + reshGetResHListOfType(ngrids, gridIndexList, &gridOps); } diff --git a/src/grid.h b/src/grid.h index b85943489f50fcce9406e35df6ca92673eded907..4e447211de17b43ec5cc329c4cc46b7b87c6123e 100644 --- a/src/grid.h +++ b/src/grid.h @@ -76,7 +76,7 @@ grid_t; void grid_init(grid_t *gridptr); void grid_free(grid_t *gridptr); -int gridSize(void); +unsigned cdiGridCount(void); const double *gridInqXvalsPtr(int gridID); const double *gridInqYvalsPtr(int gridID); @@ -88,7 +88,7 @@ const double *gridInqAreaPtr(int gridID); int gridCompare(int gridID, const grid_t *grid); int gridGenerate(const grid_t *grid); -void gridGetIndexList( int, int * ); +void cdiGridGetIndexList(unsigned, int * ); void gridUnpack(char * unpackBuffer, int unpackBufferSize, diff --git a/src/institution.c b/src/institution.c index fcbef8dc94075a68944b5f3ba5e366e33c8bfc7c..081ac84191feb3c73231d27166b7746514003481 100644 --- a/src/institution.c +++ b/src/institution.c @@ -88,12 +88,6 @@ void instituteDefaultEntries ( void ) } -int instituteCount ( void ) -{ - return reshCountType ( &instituteOps ); -} - - static int instituteCompareKernel(institute_t * ip1, institute_t * ip2) { diff --git a/src/model.c b/src/model.c index b14181edb3e8c33d5e01a8cdbecf689bc7c89ec9..fdd58e96b9351aa00fbb32444a8954667bc4be4f 100644 --- a/src/model.c +++ b/src/model.c @@ -132,11 +132,6 @@ void modelInit(void) if ( env ) MODEL_Debug = atoi(env); } -int modelSize ( void ) -{ - return reshCountType ( &modelOps ); -} - struct modelLoc { char *name; diff --git a/src/pio_interface.c b/src/pio_interface.c index 19d3b7d6639b92db54f7d5d9692fe48fa8240aa9..d4c67fb524e0b48507555353a976c1fdceb0877b 100644 --- a/src/pio_interface.c +++ b/src/pio_interface.c @@ -155,7 +155,7 @@ in order of vSizes static void varMapGen(int *vSizes, int *sSizes, int *varMapping, - int nStreams, int *nodeSizes, int nNodes) + unsigned nStreams, int *nodeSizes, int nNodes) { int weightsStreams[nStreams]; @@ -170,9 +170,9 @@ varMapGen(int *vSizes, int *sSizes, int *varMapping, int buckets[nProcsColl]; - for ( i = 0; i < nStreams; i++ ) + for (unsigned i = 0; i < nStreams; i++ ) { - nVars += * ( sSizes + i ); + nVars += sSizes[i]; weightsStreams[i] = 0; for ( j = 0; j < * ( sSizes + i ); j++ ) weightsStreams[i] += * ( vSizes + offset++ ); @@ -185,13 +185,13 @@ varMapGen(int *vSizes, int *sSizes, int *varMapping, for ( j = 0; j < nNodes; j++ ) w[j] = ( double ) * ( nodeSizes + j ) / ( double ) nPEs; - mapProblems ( weightsStreams, streamMapping, nStreams, nNodes, w ); + mapProblems(weightsStreams, streamMapping, (int)nStreams, nNodes, w); free ( w ); for ( i = 0; i < nNodes; i++ ) { nVarsNode = 0; - for ( j = 0; j < nStreams; j++ ) + for (unsigned j = 0; j < nStreams; j++) if ( * ( streamMapping + j ) == i ) nVarsNode += * ( sSizes + j ); @@ -201,12 +201,12 @@ varMapGen(int *vSizes, int *sSizes, int *varMapping, offset = 0; offsetN = 0; - for ( j = 0; j < nStreams; j++ ) - if ( * ( streamMapping + j ) == i ) + for (unsigned j = 0; j < nStreams; j++ ) + if (streamMapping[j] == i) for ( k = 0; k < * ( sSizes + j ); k ++ ) - * ( weightsVarsNode + offsetN++ ) = * ( vSizes + offset++ ); + weightsVarsNode[offsetN++] = vSizes[offset++]; else - offset += * ( sSizes + j ); + offset += sSizes[j]; for ( j = 0; j < * ( nodeSizes + i ); j ++ ) w[j] = 1.0 / ( double ) * ( nodeSizes + i ); @@ -217,7 +217,7 @@ varMapGen(int *vSizes, int *sSizes, int *varMapping, offset = 0; offsetN = 0; - for ( j = 0; j < nStreams; j++ ) + for (unsigned j = 0; j < nStreams; j++) if ( * ( streamMapping + j ) == i ) for ( k = 0; k < * ( sSizes + j ); k ++ ) * ( varMapping + offset ++ ) = @@ -249,28 +249,28 @@ varMapGen(int *vSizes, int *sSizes, int *varMapping, static void varsMapNDeco(int nNodes, int *nodeSizes) { - int nStreams, nVars, * resHs, * streamSizes, * varSizes, * varMapping, + int nVars, * resHs, * streamSizes, * varSizes, * varMapping, * collectsData; int k = 0; int nProcsColl = commInqNProcsColl (); xdebug ( "START, nProcsColl=%d", nProcsColl ); - nStreams = streamSize (); + unsigned nStreams = reshCountType(&streamOps); - resHs = xmalloc((size_t)nStreams * sizeof (resHs[0])); - streamSizes = xmalloc((size_t)nStreams * sizeof (streamSizes[0])); + resHs = xmalloc(nStreams * sizeof (resHs[0])); + streamSizes = xmalloc(nStreams * sizeof (streamSizes[0])); collectsData = xmalloc((size_t)nProcsColl * sizeof (collectsData[0])); - streamGetIndexList ( nStreams, resHs ); + cdiStreamGetIndexList(nStreams, resHs); - for (int i = 0; i < nStreams; i++ ) - streamSizes[i] = streamInqNvars ( * ( resHs + i )); + for (unsigned i = 0; i < nStreams; i++ ) + streamSizes[i] = streamInqNvars(resHs[i]); nVars = sum_int((size_t)nStreams, streamSizes); varSizes = xcalloc((size_t)nVars, sizeof (varSizes[0])); varMapping = xmalloc((size_t)nVars * sizeof (varMapping[0])); - for (int i = 0; i < nStreams; i++ ) + for (unsigned i = 0; i < nStreams; i++ ) { int vlistID = streamInqVlist(resHs[i]); for (int j = 0; j < streamSizes[i]; j++ ) @@ -283,7 +283,7 @@ varsMapNDeco(int nNodes, int *nodeSizes) nStreams, nodeSizes, nNodes ); k = 0; - for (int i = 0; i < nStreams; i++ ) + for (unsigned i = 0; i < nStreams; i++ ) for (int j = 0; j < * ( streamSizes + i ); j++ ) { vlistDefVarIOrank ( streamInqVlist ( * ( resHs + i )), j, @@ -343,7 +343,7 @@ struct collDesc static void modelWinDefBufferSizes(void) { - int collID, nstreams, * streamIndexList, streamNo, nvars, varID; + int collID, * streamIndexList, nvars, varID; size_t sumWinBufferSize = 0; int nProcsColl = commInqNProcsColl (); int rankGlob = commInqRankGlob (); @@ -353,11 +353,11 @@ modelWinDefBufferSizes(void) xdebug("%s", "START"); xassert(txWin != NULL); - nstreams = reshCountType ( &streamOps ); + unsigned nstreams = reshCountType ( &streamOps ); streamIndexList = xmalloc((size_t)nstreams * sizeof (streamIndexList[0])); collIndex = xcalloc((size_t)nProcsColl, sizeof (collIndex[0])); reshGetResHListOfType ( nstreams, streamIndexList, &streamOps ); - for ( streamNo = 0; streamNo < nstreams; streamNo++ ) + for (unsigned streamNo = 0; streamNo < nstreams; streamNo++ ) { // memory required for data int streamID = streamIndexList[streamNo]; diff --git a/src/pio_server.c b/src/pio_server.c index 52652fa10ffe4f1b9b5d098501048878c2b7b805..8180d7fd9dcab2b0e31761baa716e8d934d4733a 100644 --- a/src/pio_server.c +++ b/src/pio_server.c @@ -76,7 +76,7 @@ void serverWinCleanup () static size_t collDefBufferSizes() { - int nstreams, * streamIndexList, streamNo, vlistID, nvars, varID, iorank; + int *streamIndexList, vlistID, nvars, varID, iorank; int modelID; size_t sumGetBufferSizes = 0; int rankGlob = commInqRankGlob (); @@ -85,10 +85,10 @@ collDefBufferSizes() xassert(rxWin != NULL); - nstreams = reshCountType ( &streamOps ); + unsigned nstreams = reshCountType ( &streamOps ); streamIndexList = xmalloc((size_t)nstreams * sizeof (streamIndexList[0])); reshGetResHListOfType ( nstreams, streamIndexList, &streamOps ); - for ( streamNo = 0; streamNo < nstreams; streamNo++ ) + for (unsigned streamNo = 0; streamNo < nstreams; streamNo++) { // space required for data vlistID = streamInqVlist ( streamIndexList[streamNo] ); @@ -575,18 +575,18 @@ buildStreamMap(struct winHeaderEntry *winDict) /* join with list of streams written to in total */ { int *streamIDs, *streamIsWritten; - int numTotalStreamIDs = streamSize(); - streamIDs = (int*) xmalloc(2 * sizeof (streamIDs[0]) * (size_t)numTotalStreamIDs); - streamGetIndexList(numTotalStreamIDs, streamIDs); + unsigned numTotalStreamIDs = reshCountType(&streamOps); + streamIDs = xmalloc(2 * sizeof (streamIDs[0]) * (size_t)numTotalStreamIDs); + cdiStreamGetIndexList(numTotalStreamIDs, streamIDs); streamIsWritten = streamIDs + numTotalStreamIDs; - for (int i = 0; i < numTotalStreamIDs; ++i) + for (unsigned i = 0; i < numTotalStreamIDs; ++i) streamIsWritten[i] = streamIsInList(streamMap, numStreamIDs, streamIDs[i]); /* Find what streams are written to at all on any process */ - xmpi(MPI_Allreduce(MPI_IN_PLACE, streamIsWritten, numTotalStreamIDs, + xmpi(MPI_Allreduce(MPI_IN_PLACE, streamIsWritten, (int)numTotalStreamIDs, MPI_INT, MPI_BOR, commInqCommColl())); /* append streams written to on other tasks to mapping */ - for (int i = 0; i < numTotalStreamIDs; ++i) + for (unsigned i = 0; i < numTotalStreamIDs; ++i) if (streamIsWritten[i] && !streamIsInList(streamMap, numStreamIDs, streamIDs[i])) numStreamIDs = inventorizeStream(streamMap, numStreamIDs, @@ -1096,13 +1096,13 @@ void cdiPioServer(void (*postCommSetupActions)(void)) if ( nfinished == nProcsModel ) { { - int nStreams = streamSize (); + unsigned nStreams = reshCountType(&streamOps); if ( nStreams > 0 ) { - int * resHs = xmalloc((size_t)nStreams * sizeof (resHs[0])); - streamGetIndexList ( nStreams, resHs ); - for (int streamNo = 0; streamNo < nStreams; ++streamNo) + int *resHs = xmalloc(nStreams * sizeof (resHs[0])); + cdiStreamGetIndexList(nStreams, resHs); + for (unsigned streamNo = 0; streamNo < nStreams; ++streamNo) streamClose(resHs[streamNo]); free(resHs); } diff --git a/src/resource_handle.c b/src/resource_handle.c index f0f2301f6530750644cd154c54beb500f0e9a32a..5c6cfdd13d61b38724b7d43fc49165f19d2ebe95 100644 --- a/src/resource_handle.c +++ b/src/resource_handle.c @@ -431,19 +431,17 @@ void *reshGetValue(const char * caller, const char* expressionString, cdiResH re /**************************************************************/ -void reshGetResHListOfType ( int c, int * resHs, const resOps * ops ) +void reshGetResHListOfType(unsigned numIDs, int resHs[numIDs], const resOps *ops) { - int i, j = 0, nsp; - xassert ( resHs && ops ); LIST_INIT(1); LIST_LOCK(); - nsp = namespaceGetActive (); - - for ( i = 0; i < resHList[nsp].size && j < c; i++ ) + int nsp = namespaceGetActive(); + unsigned j = 0; + for (int i = 0; i < resHList[nsp].size && j < numIDs; i++ ) if ((resHList[nsp].resources[i].status & RESH_IN_USE_BIT) && resHList[nsp].resources[i].res.v.ops == ops) resHs[j++] = namespaceIdxEncode2(nsp, i); @@ -500,20 +498,21 @@ cdiResHFilterApply(const resOps *p, /**************************************************************/ -int reshCountType ( const resOps * ops ) +unsigned reshCountType(const resOps *ops) { - int i, nsp, countType = 0; + unsigned countType = 0; - xassert ( ops ); + xassert(ops); LIST_INIT(1); LIST_LOCK(); - nsp = namespaceGetActive (); + int nsp = namespaceGetActive (); listElem_t *r = resHList[nsp].resources; - for ( i = 0; i < resHList[nsp].size; i++ ) + size_t len = (size_t)resHList[nsp].size; + for (size_t i = 0; i < len; i++ ) countType += ((r[i].status & RESH_IN_USE_BIT) && r[i].res.v.ops == ops); LIST_UNLOCK(); diff --git a/src/resource_handle.h b/src/resource_handle.h index aad9a0c5cacc5cebbab568b2375dccc795417f49..b2c376d6b90361ba3a9f3bf1fb86826f758120fc 100644 --- a/src/resource_handle.h +++ b/src/resource_handle.h @@ -57,13 +57,13 @@ void reshRemove ( cdiResH, const resOps * ); /*> doesn't check resource type */ void reshDestroy(cdiResH); -int reshCountType ( const resOps * ); +unsigned reshCountType(const resOps *resTypeOps); void * reshGetValue(const char* caller, const char* expressionString, cdiResH id, const resOps* ops); #define reshGetVal(resH, ops) reshGetValue(__func__, #resH, resH, ops) -void reshGetResHListOfType ( int, int *, const resOps * ); +void reshGetResHListOfType(unsigned numIDs, int IDs[numIDs], const resOps *ops); enum cdiApplyRet { CDI_APPLY_ERROR = -1, diff --git a/src/stream.c b/src/stream.c index 205258b695890af2c66d10f447527ddc13f06a43..1e421516d9ff0c4dc9286c55b4eae134f02a7ac7 100644 --- a/src/stream.c +++ b/src/stream.c @@ -2174,9 +2174,9 @@ void cdiStreamSetupVlist(stream_t *streamptr, int vlistID, int vlistIDorig) } -void streamGetIndexList ( int nstreams, int * streamIndexList ) +void cdiStreamGetIndexList(unsigned numIDs, int IDs[numIDs]) { - reshGetResHListOfType ( nstreams, streamIndexList, &streamOps ); + reshGetResHListOfType(numIDs, IDs, &streamOps); } int streamInqNvars ( int streamID ) @@ -2279,7 +2279,6 @@ void streamPrintP ( void * streamptr, FILE * fp ) fprintf ( fp, "vlistIDorig = %d\n", sp->vlistIDorig ); } - enum { streamNint = 11, }; diff --git a/src/varscan.c b/src/varscan.c index d1fd60f0ea9e56ac8434951c65dbe1a078cac4e9..131261ab28eb50300838d7dd7e57411cc6480ce2 100644 --- a/src/varscan.c +++ b/src/varscan.c @@ -750,19 +750,17 @@ int varDefGrid(int vlistID, const grid_t *grid, int mode) */ int gridglobdefined = FALSE; int griddefined; - int ngrids; int gridID = CDI_UNDEFID; - int index; vlist_t *vlistptr; - int * gridIndexList, i; + int * gridIndexList; vlistptr = vlist_to_pointer(vlistID); griddefined = FALSE; - ngrids = vlistptr->ngrids; + unsigned ngrids = (unsigned)vlistptr->ngrids; if ( mode == 0 ) - for ( index = 0; index < ngrids; index++ ) + for (unsigned index = 0; index < ngrids; index++ ) { gridID = vlistptr->gridIDs[index]; if ( gridID == UNDEFID ) @@ -777,12 +775,12 @@ int varDefGrid(int vlistID, const grid_t *grid, int mode) if ( ! griddefined ) { - ngrids = gridSize(); + ngrids = cdiGridCount(); if ( ngrids > 0 ) { gridIndexList = (int*)xmalloc((size_t)ngrids * sizeof(int)); - gridGetIndexList ( ngrids, gridIndexList ); - for ( i = 0; i < ngrids; i++ ) + cdiGridGetIndexList ( ngrids, gridIndexList ); + for (unsigned i = 0; i < ngrids; i++ ) { gridID = gridIndexList[i]; if ( gridCompare(gridID, grid) == 0 ) @@ -791,12 +789,12 @@ int varDefGrid(int vlistID, const grid_t *grid, int mode) break; } } - if ( gridIndexList ) free ( gridIndexList ); + free(gridIndexList); } - ngrids = vlistptr->ngrids; + ngrids = (unsigned)vlistptr->ngrids; if ( mode == 1 ) - for ( index = 0; index < ngrids; index++ ) + for (unsigned index = 0; index < ngrids; index++ ) if ( vlistptr->gridIDs[index] == gridID ) { gridglobdefined = FALSE; @@ -807,7 +805,7 @@ int varDefGrid(int vlistID, const grid_t *grid, int mode) if ( ! griddefined ) { if ( ! gridglobdefined ) gridID = gridGenerate(grid); - ngrids = vlistptr->ngrids; + ngrids = (unsigned)vlistptr->ngrids; vlistptr->gridIDs[ngrids] = gridID; vlistptr->ngrids++; } @@ -871,17 +869,15 @@ int varDefZaxis(int vlistID, int zaxistype, int nlevels, double *levels, int lbo mode: 0 search in vlist and zaxis table 1 search in zaxis table */ - int zaxisdefined; + int zaxisdefined = 0; int nzaxis; int zaxisID = UNDEFID; int index; int zaxisglobdefined = 0; vlist_t *vlistptr; - int i; vlistptr = vlist_to_pointer(vlistID); - zaxisdefined = 0; nzaxis = vlistptr->nzaxis; if ( mode == 0 ) @@ -898,13 +894,14 @@ int varDefZaxis(int vlistID, int zaxistype, int nlevels, double *levels, int lbo if ( ! zaxisdefined ) { - nzaxis = zaxisSize(); + reshLock(); + unsigned nzaxis = cdiZaxisCount(); if ( nzaxis > 0 ) { int *zaxisIndexList; zaxisIndexList = (int *)xmalloc((size_t)nzaxis * sizeof (int)); - zaxisGetIndexList(nzaxis, zaxisIndexList); - for ( i = 0; i < nzaxis; i++ ) + cdiZaxisGetIndexList ( nzaxis, zaxisIndexList ); + for (unsigned i = 0; i < nzaxis; i++ ) { zaxisID = zaxisIndexList[i]; if ( zaxisCompare(zaxisID, zaxistype, nlevels, lbounds, levels, longname, units, ltype1) == 0 ) @@ -913,12 +910,13 @@ int varDefZaxis(int vlistID, int zaxistype, int nlevels, double *levels, int lbo break; } } - if ( zaxisIndexList ) free ( zaxisIndexList ); + free(zaxisIndexList); } + reshUnlock(); - nzaxis = vlistptr->nzaxis; + nzaxis = (unsigned)vlistptr->nzaxis; if ( mode == 1 ) - for ( index = 0; index < nzaxis; index++ ) + for (unsigned index = 0; index < nzaxis; index++ ) if ( vlistptr->zaxisIDs[index] == zaxisID ) { zaxisglobdefined = FALSE; diff --git a/src/vlist.c b/src/vlist.c index 2c49eed4d440ac511a8d25e7c750267d86ae2c69..a9228f43a1a7ebea7cbba1d30111107997fb9054 100644 --- a/src/vlist.c +++ b/src/vlist.c @@ -23,8 +23,6 @@ int cdiNAdditionalGRIBKeys = 0; char* cdiAdditionalGRIBKeys[MAX_OPT_GRIB_ENTRIES]; #endif -extern void zaxisGetIndexList ( int, int * ); - static int VLIST_Debug = 0; static void vlist_initialize(void); @@ -445,13 +443,13 @@ int vlist_generate_zaxis(int vlistID, int zaxistype, int nlevels, const double * if ( ! zaxisdefined ) { - nzaxis = zaxisSize(); + unsigned nzaxis = cdiZaxisCount(); if ( nzaxis > 0 ) { int *zaxisIndexList = (int *)xmalloc((size_t)nzaxis * sizeof (int)); reshLock(); - zaxisGetIndexList ( nzaxis, zaxisIndexList ); - for ( int index = 0; index < nzaxis; ++index ) + cdiZaxisGetIndexList(nzaxis, zaxisIndexList); + for (unsigned index = 0; index < nzaxis; ++index) { zaxisID = zaxisIndexList[index]; if ( zaxisCompare(zaxisID, zaxistype, nlevels, has_bounds, levels, NULL, NULL, 0) == 0 ) diff --git a/src/zaxis.c b/src/zaxis.c index fc6c081eaf8a1efb3e2ae6f923e367c3e829dcac..5902593dc7685921feead70a0799a4858a71297d 100644 --- a/src/zaxis.c +++ b/src/zaxis.c @@ -172,9 +172,9 @@ void zaxis_copy(zaxis_t *zaxisptr2, zaxis_t *zaxisptr1) zaxisptr2->self = zaxisID2; } -int zaxisSize(void) +unsigned cdiZaxisCount(void) { - return reshCountType ( &zaxisOps ); + return reshCountType(&zaxisOps); } static int @@ -1636,9 +1636,9 @@ zaxisPack(void * voidP, void * packBuffer, int packBufferSize, } -void zaxisGetIndexList ( int nzaxis, int * zaxisResHs ) +void cdiZaxisGetIndexList(unsigned nzaxis, int zaxisResHs[nzaxis]) { - reshGetResHListOfType ( nzaxis, zaxisResHs, &zaxisOps ); + reshGetResHListOfType(nzaxis, zaxisResHs, &zaxisOps); } #undef ZAXIS_STR_SERIALIZE diff --git a/src/zaxis.h b/src/zaxis.h index 133316da007a3f09bbf1f813404ed6803b90be91..d5c9ac8df22b72c0dc20aac4ac5a1f2097686026 100644 --- a/src/zaxis.h +++ b/src/zaxis.h @@ -1,11 +1,15 @@ #ifndef _ZAXIS_H #define _ZAXIS_H -int zaxisSize(void); +unsigned cdiZaxisCount(void); + +void cdiZaxisGetIndexList(unsigned numIDs, int IDs[numIDs]); void zaxisUnpack(char * unpackBuffer, int unpackBufferSize, int * unpackBufferPos, int originNamespace, void *context, int force_id); +void zaxisDefLtype2(int zaxisID, int ltype2); + #endif