Example: I want to archive a group of CRIS diagnostic event structs into an archive at /home/darkalf/bruce/testArchive/data/crisTestData. (Remember that it is essential to have the directory "data" in the path. The archive routines use it as a "root" directory for determining archive file names.) -------------------------------------------------------------------------------- The code: #include #include #include #include #include "hdfi.h" #include "cris.h" #include "level1.h" /* testing putCrisDiagnosticEventGroup */ int main(int argc, char *argv[]) { struct L1CrisDiagnosticEvent de[1000], *pDe; struct tm timeStruct, *pTimeStruct; uint32 secondsSince1996; int i; timeStruct.tm_year = 99; /* 1999 */ timeStruct.tm_mon = 8; /* sept. */ timeStruct.tm_mday = 23; /* the 23th */ timeStruct.tm_hour = 15; /* 3 pm */ timeStruct.tm_min = 34; timeStruct.tm_sec = 30; timeStruct.tm_isdst = 0; /* no daylight savings time */ pTimeStruct = &timeStruct; secondsSince1996 = getSecondsSince1996FromDate(pTimeStruct); for (i = 0; i < 1000; i++) { de[i].Second1996MinorFrame0 = secondsSince1996; de[i].ContinuationFlag = 0; secondsSince1996 += 500; /* arbitrary increment */ } pDe = &(de[0]); /* or pDe = de */ putCrisDiagnosticEventGroup(pDe); return 1; } ------------------------------------------------------------------------ The run: % test The environment variable L1_CRIS_DATA_BASE_DIRECTORY has not been defined. Exiting. % setenv L1_CRIS_DATA_BASE_DIRECTORY /home/darkalf/bruce/testArchive/data/crisTestData % test The base directory /home/darkalf/bruce/testArchive/data/crisTestData does not exist. Exiting. % mkdir /home/darkalf/bruce/testArchive % mkdir /home/darkalf/bruce/testArchive/data % mkdir /home/darkalf/bruce/testArchive/data/crisTestData % ls -R /home/darkalf/bruce/testArchive /home/darkalf/bruce/testArchive: data/ /home/darkalf/bruce/testArchive/data: crisTestData/ /home/darkalf/bruce/testArchive/data/crisTestData: [ okay, now we're ready. nothing in here yet, though. ] % test % % ls -R /home/darkalf/bruce/testArchive /home/darkalf/bruce/testArchive: data/ /home/darkalf/bruce/testArchive/data: crisTestData/ /home/darkalf/bruce/testArchive/data/crisTestData: 1999.09/ /home/darkalf/bruce/testArchive/data/crisTestData/1999.09: 1999.09.23/ 1999.09.25/ 1999.09.27/ 1999.09.29/ 1999.09.24/ 1999.09.26/ 1999.09.28/ /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.23: crisTestData.1999.09.23.de /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.24: crisTestData.1999.09.24.de /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.25: crisTestData.1999.09.25.de /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.26: crisTestData.1999.09.26.de /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.27: crisTestData.1999.09.27.de /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.28: crisTestData.1999.09.28.de /home/darkalf/bruce/testArchive/data/crisTestData/1999.09/1999.09.29: crisTestData.1999.09.29.de % [ apparently the array of diagnostic event structs I created fell over several days... ] ------------------------------------------------------------------------ The Makefile: # where is your base directory? (ACE_WARE must be defined in your environment.) BASE_DIR = ${ACE_WARE} INCLUDE_DIR = ${BASE_DIR}/include LIBRARY_DIR = ${BASE_DIR}/lib # which compiler are you using? # setenv CC gcc (CC can be defined in your environment.) # CC = gcc (or not.) # code optimization and warnings flags FLAGS = -O2 -Wall # include files needed here are found in these directories: # # include/hdf: declarations for HDF types used throughout ACEware # include/structures: declarations for CRIS/SIS data structs # include/level1: level1 routine declarations INCLUDE_HEADER_DIRS = -I${INCLUDE_DIR}/hdf \ -I${INCLUDE_DIR}/structures \ -I${INCLUDE_DIR}/level1 INCLUDE_LIB_DIRS = -L${LIBRARY_DIR} INCLUDE_LIBRARIES = -llevel1 all: ${CC} ${FLAGS} test.c -o test \ ${INCLUDE_HEADER_DIRS} \ ${INCLUDE_LIB_DIRS} \ ${INCLUDE_LIBRARIES} clean: rm -rf *.o test -----------------------------------------------------------------------e The make: % make gcc -O2 -Wall test.c -o test \ -I/home/idunn1/ACEware/include/hdf -I/home/idunn1/ACEware/include/structures -I/home/idunn1/ACEware/include/level1 \ -L/home/idunn1/ACEware/lib \ -llevel1 %