# Channel table for Goiânia - GO - Brazil # Source: http://www.portalbsd.com.br/terrestres_channels.php?channels=40 # Physical channel 18 [Record Goiânia] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 497142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 20 [TV Serra Dourada] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 509142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 22 [PUC TV Goiás] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 521142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 30 [TV Goiânia] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 569142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 31 [TBC News] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 575142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 34 [TV Anhanguera Goiânia] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 593142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 42 [RIT] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 641142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 47 [Fonte TV] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 671142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 57 [Rede Vida] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 731142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 # Physical channel 61 [TV Câmara, TV Assembleia GO, TV Senado, TV Câmara Municipal] DELIVERY_SYSTEM = ISDBT BANDWIDTH_HZ = 6000000 FREQUENCY = 755142857 INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO INVERSION = AUTO GUARD_INTERVAL = AUTO TRANSMISSION_MODE = AUTO ISDBT_LAYER_ENABLED = 7 ISDBT_SOUND_BROADCASTING = 0 ISDBT_SB_SUBCHANNEL_ID = 0 ISDBT_SB_SEGMENT_IDX = 0 ISDBT_SB_SEGMENT_COUNT = 0 ISDBT_LAYERA_FEC = AUTO ISDBT_LAYERA_MODULATION = QAM/AUTO ISDBT_LAYERA_SEGMENT_COUNT = 0 ISDBT_LAYERA_TIME_INTERLEAVING = 0 ISDBT_LAYERB_FEC = AUTO ISDBT_LAYERB_MODULATION = QAM/AUTO ISDBT_LAYERB_SEGMENT_COUNT = 0 ISDBT_LAYERB_TIME_INTERLEAVING = 0 ISDBT_LAYERC_FEC = AUTO ISDBT_LAYERC_MODULATION = QAM/AUTO ISDBT_LAYERC_SEGMENT_COUNT = 0 ISDBT_LAYERC_TIME_INTERLEAVING = 0 l.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
/* $Id$
 * $URL$
 *
 * expression evaluation
 *
 * Copyright (C) 2003 Michael Reinelt <michael@reinelt.co.at>
 * Copyright (C) 2004 The LCD4Linux Team <lcd4linux-devel@users.sourceforge.net>
 *
 * This file is part of LCD4Linux.
 *
 * LCD4Linux is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * LCD4Linux is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */


#ifndef _EVALUATOR_H_
#define _EVALUATOR_H_


/* RESULT bitmask */
#define R_NUMBER 1
#define R_STRING 2

typedef struct {
    int type;
    int size;
    double number;
    char *string;
} RESULT;

int SetVariable(const char *name, RESULT * value);
int SetVariableNumeric(const char *name, const double value);
int SetVariableString(const char *name, const char *value);

int AddFunction(const char *name, const int argc, void (*func) ());

void DeleteVariables(void);
void DeleteFunctions(void);

void DelResult(RESULT * result);
RESULT *SetResult(RESULT ** result, const int type, const void *value);
RESULT *CopyResult(RESULT ** result, RESULT * value);

double R2N(RESULT * result);
char *R2S(RESULT * result);

int Compile(const char *expression, void **tree);
int Eval(void *tree, RESULT * result);
void DelTree(void *tree);

#endif