******************************************************************************

1996/12/01	Qlib2 (Qlib Version 2)		Douglas Neuhauser, UC Berkeley

* General routines to read MiniSEED records:

	read_ms:
	f_read_ms:

		Read a single MiniSEED record, decode header and blockettes
		into DATA_HDR, read and unpack data, return to user ptr to
		DATA_HDR and unpacked data.

	read_ms_record:
		Read a single MiniSEED record, decode header and blockettes
		into DATA_HDR, return to user ptr to DATA_HDR and raw
		MiniSEED record.

	ms_ms_hdr:  
		Read a single MiniSEED header, decode header and blockettes
		into DATA_HDR, return to user ptr to DATA_HDR and raw
		MiniSEED header and blockettes.
	
	read_ms_data:
		Read raw data portion of MiniSEED record and return it to user.

* General routines to create MiniSEED records:

	ms_pack_data:
	f_ms_pack_data:
		Given DATA_HDR and data array, create MiniSEED records of
		specified blksize and data_type in memory, return user
		ptr to MiniSEED records.

************************************************************************

* Provide support for reading and writing MiniSEED in the following formats:
	STEIM1, STEIM2, INT_16, INT_24, INT_32

* Support for reading and creating records with any valid MiniSEED blocksize.

* Single data packing and unpacking routines, and single header encoding and
decoding routines.

* Added the following fields to the DATA_HDR structure:  
	data_type, blksize, redi_type, hdr_wordorder, data_wordorder.

* Changed the INT_TIME and EXT_TIME structures to usec (1 microsecond)
accuracy from ticks (.1 millisecond) accuracy.  Changed all time routines to
work with usecs instead of ticks.  eg:	
	time_interval
	add_time
	add_dtime (new)
	tdiff
	dsamples_in_time
	samples_in_time

* New #defines for	
	USECS_PER_SEC
	USECS_PER_MSEC
	USECS_PER_TICK

* Added ability to read and write MiniSEED records where header and data is
in either big or little endian wordorder.

* Fortran callable routines now ALL have a "f_" prefix on them, since some
compilers do not use the BSD convention of appending an "_" to external
routines called from fortran.  The Fortran_to_C interlude routines are
conditionally compiled to provide the "_" if required (Sun requires the "_"
suffix).

******************************************************************************
97/06/17	version 1.1 (1997.168)

NOTE THAT THE DATA_HDR IS NOW INCOMPATIBLE WITH PREVIOUS VERSIONS.

In order to support sample rates that were not either N or 1/N 
samples per second, I added a sample_rate_mult field to the data_hdr
structure.  This necessitated an additional argument to the time_interval
function and dsamples_in_time function, and a new function called
sps_rate(rate,mult) instead of the old SPS_RATE(rate) macro.

old function				new function
------------------------------------------------------------------------------
dsamples_in_time (rate,usecs)		dsamples_in_time (rate,mult,usecs)
time_interval (n,rate,*sec,*usec)	time_interval2 (n,rate,mult,
							*sec,*usec)
					sps_rate (rate,mult)

I also added xm1 and xm2 to the structure which can hold information
required for steim1 and steim2 compression.
