#include "frame_dcm.h" #include "wind_pk.h" #include "string.h" /* returns 0 if unsuccessful */ /* returns 1 if successful */ int get_next_frame_struct(packet_selector *pks, struct frameinfo_def *frm) { packet *pk; pk = get_packet(pks); if(pk == 0) return(0); if(!(pk->quality & (~pkquality))){ memcpy(frm,pk->data,FRAME_INFO_SIZE); return(1); } else{ if(pk->quality & (~pkquality)) frm->time = pk->time; return(0); } } int number_of_frame_samples(double t1,double t2) { return(number_of_packets(FRM_INFO_ID,t1,t2)); } /* Interface routine to IDL */ int frame_info_to_idl(int argc,void *argv[]) { int i,n; static frameinfo *frm; int size; packet_selector pks; if(argc == 0) return( number_of_frame_samples( 0.,1e12) ); if(argc != 3){ printf("Incorrect number of arguments\r\n"); return(0); } n = * ((int4 *)argv[0]); size = * ((int4 *)argv[1]); frm = (frameinfo *)argv[2]; if(size != sizeof(frameinfo)){ printf("Incorrect stucture size. IDL:%d C:%d Aborting.\r\n", size,sizeof(frameinfo)); return(0); } for(i=0;i