]> Pileus Git - ~andy/rsl/blob - rapic_routines.h
Initial import
[~andy/rsl] / rapic_routines.h
1 #include "rsl.h"
2
3 typedef struct {
4   char *s;
5   int len;
6 } Charlen;
7
8 typedef struct {
9  int   country;        /* 000 */
10  char  namestr[20];    /* Berrima */
11  int   station_id_no;  /* 63 */
12  float lat;            /* 12.457 */
13  float lon;            /* 130.925 */
14  float height;         /* 40 (meters) */
15  int   datno;          /* 02798  (jjjyy) */
16  float hhmm;           /* 05.00 */
17  char  yyyymoddhhmmss[20]; /* 1998012705001 */
18  float versionNumber;  /* 10.01 */
19  int   freq;           /* 5645 */
20  int   prf;            /* 740 */
21  float pulselen;       /* 0.9 */
22  int   range_resolution; /* 500 (meters) */
23  float anglerate;        /* 15.0 */
24  char  clearair[4];      /* "ON" or "OFF" */
25  float angle_resolution; /* 1.0 (degrees) */
26  int   video_resolution; /* 256 */
27  int   start_range;      /* 1000 (meters) */
28  int   end_range;      /* 256000 (meters) */
29  char  product_type[10]; /* VOLUMETRIC */
30  int   scannum; /* Scan n of m */
31  int   ofscans; /* m */
32  char  imgfmt[20]; /* PPI, RHI, etc. */
33  float elev;       /* 0.5 (degrees) */
34  char  video[20];  /* Vel, Wid, ... */
35  float vellvl;     /* 9.8 */
36  float nyquist;    /* 9.8 */
37  float ratio1, ratio2; /* x:y, None */
38
39  int nbins; /* Number of values in Rapic_range vector. */
40 } Rapic_sweep_header;
41
42 typedef struct {
43   float x; /* Dummy. */
44 } Rapic_range;
45
46 typedef struct {
47   Rapic_sweep_header h;
48   Rapic_range *r;
49 } Rapic_sweep;
50
51 void binprint(char *s, int n);
52 void rapic_decode(unsigned char *inbuf, int inbytes, unsigned char *outbuf, int *outbytes,
53                                   float *azim, float *elev, int *delta_time);
54 void rapic_fix_time (Ray *ray);
55 void rapic_load_ray_header(Rapic_sweep_header rh, int iray, int isweep, float elev, float azim, Ray_header *h);
56 void rapic_load_ray_data(unsigned char *buf, int bufsize, int ifield, Ray *ray);
57 Radar *fill_header(Radar *radar);
58
59 /* I want to have the rapic prefix in the yacc parser.
60  * This hack is required. 
61  * I got this list from automake.html.
62  */
63 /*
64 #define yymaxdepth rapicmaxdepth
65 #define yyparse rapicparse
66 #define yylex   rapiclex
67 #define yyerror rapicerror
68 #define yylval  rapiclval
69 #define yychar  rapicchar
70 #define yydebug rapicdebug
71 #define yypact  rapicpact  
72 #define yyr1    rapicr1                    
73 #define yyr2    rapicr2                    
74 #define yydef   rapicdef           
75 #define yychk   rapicchk           
76 #define yypgo   rapicpgo           
77 #define yyact   rapicact           
78 #define yyexca  rapicexca
79 #define yyerrflag rapicerrflag
80 #define yynerrs rapicnerrs
81 #define yyps    rapicps
82 #define yypv    rapicpv
83 #define yys     rapics
84 #define yy_yys  rapicyys
85 #define yystate rapicstate
86 #define yytmp   rapictmp
87 #define yyv     rapicv
88 #define yy_yyv  rapicyyv
89 #define yyval   rapicval
90 #define yylloc  rapiclloc
91 #define yyreds  rapicreds
92 #define yytoks  rapictoks
93 #define yylhs   rapiclhs
94 #define yylen   rapiclen
95 #define yydefred rapicdefred
96 #define yydgoto rapicdgoto
97 #define yysindex rapicsindex
98 #define yyrindex rapicrindex
99 #define yygindex rapicgindex
100 #define yytable  rapictable
101 #define yycheck  rapiccheck
102
103 #define yyin  rapicin
104 #define yyout rapicout
105 #define yy_create_buffer rapic_create_buffer
106 #define yy_load_buffer_state rapic_load_buffer_state
107 #define yyrestart rapicrestart
108 #define yy_init_buffer rapic_init_buffer
109 #define yy_switch_to_buffer rapic_switch_to_buffer
110 #define yy_delete_buffer rapic_delete_buffer
111 #define yy_flush_buffer rapic_flush_buffer
112 #define yy_scan_buffer rapic_scan_buffer
113 #define yy_scan_string rapic_scan_string
114 #define yy_scan_bytes rapic_scan_bytes
115 */