const ACTION: TIM_AWAIT is action "TIM_AWAIT";
const ACTION: TIM_FROM_TIMESTAMP is action "TIM_FROM_TIMESTAMP";
const ACTION: TIM_NOW is action "TIM_NOW";
const ACTION: TIM_SET_LOCAL_TZ is action "TIM_SET_LOCAL_TZ";
const proc: tim_prototypes (inout file: c_prog) is func
begin
declareExtern(c_prog, "void timAwait (intType, intType, intType, intType, intType, intType, intType, intType);");
declareExtern(c_prog, "void timFromIntTimestamp (intType, intType *, intType *, intType *, intType *, intType *, intType *, intType *, intType *, boolType *);");
declareExtern(c_prog, "void timNow (intType *, intType *, intType *, intType *, intType *, intType *, intType *, intType *, boolType *);");
declareExtern(c_prog, "void timSetLocalTZ (intType, intType, intType, intType, intType, intType, intType *, boolType *);");
end func;
const proc: process (TIM_AWAIT, in reference: function,
in ref_list: params, inout expr_type: c_expr) is func
begin
setDiagnosticLine(c_expr);
c_expr.expr &:= "timAwait(";
process_expr(params[1], c_expr);
c_expr.expr &:= ", ";
process_expr(params[2], c_expr);
c_expr.expr &:= ", ";
process_expr(params[3], c_expr);
c_expr.expr &:= ", ";
process_expr(params[4], c_expr);
c_expr.expr &:= ", ";
process_expr(params[5], c_expr);
c_expr.expr &:= ", ";
process_expr(params[6], c_expr);
c_expr.expr &:= ", ";
process_expr(params[7], c_expr);
c_expr.expr &:= ", ";
process_expr(params[8], c_expr);
c_expr.expr &:= ");\n";
end func;
const proc: process (TIM_FROM_TIMESTAMP, in reference: function,
in ref_list: params, inout expr_type: c_expr) is func
begin
setDiagnosticLine(c_expr);
c_expr.expr &:= "timFromIntTimestamp(";
process_expr(params[1], c_expr);
c_expr.expr &:= ", &(";
process_expr(params[2], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[3], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[4], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[5], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[6], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[7], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[8], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[9], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[10], c_expr);
c_expr.expr &:= "));\n";
end func;
const proc: process (TIM_NOW, in reference: function,
in ref_list: params, inout expr_type: c_expr) is func
begin
setDiagnosticLine(c_expr);
c_expr.expr &:= "timNow(&(";
process_expr(params[1], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[2], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[3], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[4], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[5], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[6], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[7], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[8], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[9], c_expr);
c_expr.expr &:= "));\n";
end func;
const proc: process (TIM_SET_LOCAL_TZ, in reference: function,
in ref_list: params, inout expr_type: c_expr) is func
begin
setDiagnosticLine(c_expr);
c_expr.expr &:= "timSetLocalTZ(";
process_expr(params[1], c_expr);
c_expr.expr &:= ", ";
process_expr(params[2], c_expr);
c_expr.expr &:= ", ";
process_expr(params[3], c_expr);
c_expr.expr &:= ", ";
process_expr(params[4], c_expr);
c_expr.expr &:= ", ";
process_expr(params[5], c_expr);
c_expr.expr &:= ", ";
process_expr(params[6], c_expr);
c_expr.expr &:= ", &(";
process_expr(params[7], c_expr);
c_expr.expr &:= "), &(";
process_expr(params[8], c_expr);
c_expr.expr &:= "));\n";
end func;