awips2/nativeLib/rary.ohd.whfs/inc/general/ArealProductControl.h
root 8e80217e59 Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: a02aeb236c [formerly 9f19e3f712] [formerly 06a8b51d6d [formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]]
Former-commit-id: 06a8b51d6d
Former-commit-id: 3360eb6c5f
2012-01-06 08:55:05 -06:00

70 lines
1.9 KiB
C

#ifndef AREAL_PRODUCT_CONTROL_H
#define AREAL_PRODUCT_CONTROL_H
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <time.h>
#include <string.h>
/*#include "HvAbsDesiredProd.h"
#include "HvRelDesiredProd.h" */
#include "ArealProductSettings.h"
#include "FfmUtils.h"
#include "time_convert.h"
#include "time_defs.h"
#include "DbmsDefs.h"
#include "List.h"
/* December 27, 2005 --> The HvAbsDesiredProd and HvRelDesiredProd tables
have been removed from the OB7 IHFS database. Added structures here
as patch until the HvAreal code can be cleaned up. Bryon L. */
typedef struct _HvAbsDesiredProd
{
Node node;
long end_hour;
long dur_hours;
long lookback_hours;
char active[2];
List list;
} HvAbsDesiredProd;
typedef struct _HvRelDesiredProd
{
Node node;
long end_hour_offset;
long dur_hours;
char active[2];
List list;
} HvRelDesiredProd;
ArealProductSpecifier *
loadDesiredSpecifiers(ArealProductControl *DesiredControls,
long numDesiredControls,
int *numDesiredSpecifiers);
ArealProductSpecifier * readArealProductControls(int *numSpecifiers);
ArealProductControl * readArealProductControlFromDb(long *numArealProductControls);
ArealProductSpecifier * generateSpecifiers(time_t curTime,
ArealProductControl control,
long *numSpecs);
int compareSpecifiers(const void *elem1, const void *elem2);
int compareSpecifiers2(const void *elem1, const void *elem2);
int compareSpecifiers3(const void *elem1, const void *elem2);
void printProductDescriptor(ArealProductTypeDescriptor descriptor);
void printArealProduct(const ArealProduct *product);
void printProductSpecifier(ArealProductSpecifier *specifier);
void printArealData(ArealData data);
#endif