⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lookup.c

📁 C编写的格式转换程序
💻 C
字号:
/*************************************************************************** * lookup.c: * * Generic lookup routines for Mini-SEED information. * * Written by Chad Trabant, ORFEUS/EC-Project MEREDIAN * * modified: 2006.346 ***************************************************************************/#include <string.h>#include "libmseed.h"/*************************************************************************** * ms_samplesize(): *  * Returns the sample size based on type code or 0 for unknown. ***************************************************************************/uint8_tms_samplesize (const char sampletype){  switch (sampletype)    {    case 'a':      return 1;    case 'i':    case 'f':      return 4;    case 'd':      return 8;    default:      return 0;    }  /* end switch */  }  /* End of ms_samplesize() *//*************************************************************************** * ms_encodingstr(): *  * Returns a string describing a data encoding format. ***************************************************************************/char *ms_encodingstr (const char encoding){  switch (encoding)    {    case 0:      return "ASCII text";    case 1:      return "16 bit integers";    case 2:      return "24 bit integers";    case 3:      return "32 bit integers";    case 4:      return "IEEE floating point";    case 5:      return "IEEE double precision float";    case 10:      return "STEIM 1 Compression";    case 11:      return "STEIM 2 Compression";    case 12:      return "GEOSCOPE Muxed 24 bit int";    case 13:      return "GEOSCOPE Muxed 16/3 bit gain/exp";    case 14:      return "GEOSCOPE Muxed 16/4 bit gain/exp";    case 15:      return "US National Network compression";    case 16:      return "CDSN 16 bit gain ranged";    case 17:      return "Graefenberg 16 bit gain ranged";    case 18:      return "IPG - Strasbourg 16 bit gain";    case 19:      return "STEIM 3 Compression";    case 30:      return "SRO Gain Ranged Format";    case 31:      return "HGLP Format";    case 32:      return "DWWSSN Format";    case 33:      return "RSTN 16 bit gain ranged";    default:      return "Unknown format code";    }  /* end switch */}  /* End of ms_encodingstr() *//*************************************************************************** * ms_blktdesc(): * * Return a string describing a given blockette type or NULL if the * type is unknown. ***************************************************************************/char *ms_blktdesc (uint16_t blkttype){  switch (blkttype)    {    case 100:      return "Sample Rate";    case 200:      return "Generic Event Detection";    case 201:      return "Murdock Event Detection";    case 300:      return "Step Calibration";    case 310:      return "Sine Calibration";    case 320:      return "Pseudo-random Calibration";    case 390:      return "Generic Calibration";    case 395:      return "Calibration Abort";    case 400:      return "Beam";    case 500:      return "Timing";    case 1000:      return "Data Only SEED";    case 1001:      return "Data Extension";    case 2000:      return "Opaque Data";    }  /* end switch */  return NULL;  }  /* End of ms_blktdesc() *//*************************************************************************** * ms_blktlen(): * * Returns the total length of a given blockette type in bytes or 0 if * type unknown. ***************************************************************************/uint16_tms_blktlen (uint16_t blkttype, const char *blkt, flag swapflag){  uint16_t blktlen = 0;    switch (blkttype)    {    case 100:  /* Sample Rate */      blktlen = 12;      break;    case 200:  /* Generic Event Detection */      blktlen = 28;      break;    case 201:  /* Murdock Event Detection */      blktlen = 36;      break;    case 300:  /* Step Calibration */      blktlen = 32;      break;    case 310:  /* Sine Calibration */      blktlen = 32;      break;    case 320:  /* Pseudo-random Calibration */      blktlen = 28;      break;    case 390:  /* Generic Calibration */      blktlen = 28;      break;    case 395:  /* Calibration Abort */      blktlen = 16;      break;    case 400:  /* Beam */      blktlen = 16;      break;    case 500:  /* Timing */      blktlen = 8;      break;    case 1000: /* Data Only SEED */      blktlen = 8;      break;    case 1001: /* Data Extension */      blktlen = 8;      break;    case 2000: /* Opaque Data */      /* First 2-byte field after the blockette header is the length */      if ( blkt )	{	  memcpy ((void *) &blktlen, blkt+4, sizeof (int16_t));	  if ( swapflag ) ms_gswap2 (&blktlen);	}      break;    }  /* end switch */    return blktlen;  }  /* End of ms_blktlen() *//*************************************************************************** * ms_errorstr(): * * Return a string describing a given libmseed error code or NULL if the * code is unknown. ***************************************************************************/char *ms_errorstr (int errorcode){  switch (errorcode)    {    case MS_ENDOFFILE:      return "End of file reached";    case MS_NOERROR:      return "No error";    case MS_GENERROR:      return "Generic error";    case MS_NOTSEED:      return "No SEED data detected";    case MS_WRONGLENGTH:      return "Length of data read does not match record length";    case MS_OUTOFRANGE:      return "SEED record length out of range";    case MS_UNKNOWNFORMAT:      return "Unknown data encoding format";    case MS_STBADCOMPFLAG:      return "Bad Steim compression flag(s) detected";    }				/* end switch */    return NULL;}  /* End of ms_blktdesc() */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -