DOKK / manpages / debian 12 / libmseed-doc / mst_srcname.3.en
MS_SRCNAME(3) Library Functions Manual MS_SRCNAME(3)

ms_srcname - Determine source names using the SEED naming nomenclature.

#include <libmseed.h>
char  *ms_recsrcname ( char *record, char *srcname, flag quality );
char  *msr_srcname ( MSRecord *msr, char *srcname, flag quality );
char  *mst_srcname ( MSTrace *mst, char *srcname, flag quality );

These routines generate a source name using the SEED naming nomenclature in the format: 'NET_STA_LOC_CHAN' and stores it in the buffer provided at srcname. If the quality flag is true the data quality character will be appended to the source name resulting in a format of: 'NET_STA_LOC_CHAN_QUAL'.

The memory pointed to by srcname must have enough room for the resulting string. As of SEED 2.4 this is a maximum of 18 characters including the terminating NULL. The MSRecord and MSTrace structs are capable of producing a source name of 42 characters (including the terminating NULL) and libmseed commonly allocates 50 characters for the srcname buffer.

ms_recsrcname generates a source name string for the SEED data record at record. If the quality flag is true the quality character will be appended.

msr_srcname generates a source name string for the specified MSRecord struct. If the quality flag is true the quality character will be appended.

mst_srcname generates a source name string in for the specified MSTrace struct. If the quality flag is true *and* mst->dataquality is not zero the quality character will be appended.

The source name produced by these routines never include spaces. The fixed format nature of SEED data records leads to blank or unused location IDs represented by spaces. Such blank location IDs will be collapsed to nothing in the resulting sources names.

The routines return a pointer to the resulting string or NULL on error.

Chad Trabant
IRIS Data Management Center
2006/11/27 Libmseed API