📄 osstruct.h
字号:
/*
Operating System
--------------------------------------------------------------------------
FILE osstruct.h
--------------------------------------------------------------------------
INTRODUCTION
============
Created : 2002-10-03 Xiaoxi Jiang
Last modified : 2002-10-03 Xiaoxi Jiang
Module :
Purpose :
Header file.
List of routines in file :
File history :
*/
struct s1mes {
char mes[17];
};
struct sos_setting {
uchar OsDateFormat; // Date Format
uchar OsDateSeparator; // Date separator character
uchar OsTimeSeparator; // Time separator character
uchar OsAmountSeparator; // Amount separator character
uchar OsNombreDigits; // Number of digits
// Default characters matrix for the OS
uchar Os_display_CM; // characters matrix for display
uchar Os_pinpad_CM; // characters matrix for pinpad
uchar Os_printer_CM; // characters matrix for printer
uchar Menu_display_CM; // characters matrix for menu display
// Default characters matrix for the applications
uchar Def_display_CM; // default characters matrix for display
uchar Def_pinpad_CM; // default characters matrix for pinpad
uchar Def_printer_CM; // default characters matrix for printer
};
struct xdsos_setting {
uchar OsDateSeparator; // Date separator character
uchar OsTimeSeparator; // Time separator character
};
// analysis structure for the various cash register messages
typedef struct {
uchar lg_message_mini; // waited message minimum length. If no length
// control, value set to 0
uchar lg_message_max; // waited message maximum length. If no length
// control, value set to 255
uchar pos_deb_comp; // comparison start index. If no string control,
// value set to 255
uchar * pt_identification; // comparison string
uchar tab_position_montant[5];// position of the amounts which have to be
// managed. Missing amounts are replaced by 0xFF
uchar ecr_further_acq; // additional keyboarding indicator (applicative
// level)
void (*Fct_tmp)(); // report formating function pointer
} typ_identification;
// LC le 22/09/97 : nouvelle structure : ajoute 'Fct_rcv'
typedef struct {
uchar lg_message_mini; // waited message minimum length. If no length
// control, value set to 0
uchar lg_message_max; // waited message maximum length. If no length
// control, value set to 255
uchar pos_deb_comp; // comparison start index. If no string control,
// value set to 255
uchar * pt_identification; // comparison string
uchar tab_position_montant[5];// position of the amounts which have to be
// managed. Missing amounts are replaced by 0xFF
uchar ecr_further_acq; // additional keyboarding indicator (applicative
// level)
void (*Fct_tmp)(); // report formating function pointer
// LC le 29/7/97 : ajout appel fct d'analyse du message recu pour traitement
// signe du montant pour CONCERT
void (*Fct_rcv)(); // received and analysed message formating
// function pointer
} typ_identification2;
// saved password structure (at 0x7D00)
typedef struct {
uchar password[4];
uint crc;
} typ_password;
// menu management structure
typedef struct {
uchar I_app; // application index in etatapp
uchar I_fct; // index in the menu
uchar N_app; // logical application number
uchar N_div; // functions menu number
MENU Elt; // menu ligne for a particular index
} MENUS;
// menu access control structure
typedef struct {
uchar type_controle; // control type to apply :
// 0x00 : none
// 0x01 : 2049 code
// 0x03 : 2049 or programmable code
// 0x05 : 2049 code or card
// 0x07 : 2049 or programmable code or card
uchar code_acces[5]; // programmable acces code (4 characters + '\0')
uchar carte[38]; // programmable ISO card (carte[0] is length)
uint crc; // structure crc
} typ_securite_menu;
// Saved additional OS paramaters structure
struct AddedOsParameters {
uchar PrintSumOfTotals; // 0=print sum of totals (if defined TOTALS )
uchar AllowAbortDial; // 1=allow abort when base is requested during dial (portable terminals only).
uchar SavedDateTime[10];
uchar DefaultTransaction; // Default transaction(debit or credit)
uchar Last_currency; // saved last currency number
uchar DefaultCurrency; // Default currency (last / FRF / EURO )
uchar to_extinction; // reglage TO extinction
uchar FlagBeep; // Enable / Disable Beep
uchar volet;
uchar CashRegister; // FLAG TO ACTIVATE CASH REGISTER PROTOCOL
uchar CashRegisterAnswer; // FLAG TO ACTIVATE ANSWER TO CASH REGISTER
uchar CamReader; // 0: DEFAULT 1: FORCE TO INTERNAL READER
uchar TypeCheque;
uchar gsmDataSpeed; // default GSM speed
uchar gsmStopMode; // extinction mode for GSM module
uchar gsmEnergyMode; // energy mode : economical or comfort
uchar gsmSecurityMode; // code PIN security mode
uchar gsmDialMode; // gsm used every time
uchar gsmTypeCall; // current type call : 0=RTC, 1=GSM
uchar CashRegisterSpeed; // vitesse protocole caisse : 0->1200, 1->2400, 2->4800, 3->9600, 4->14400, 5->19200
uchar UserWarning; // for french families : warn user when Os__get_pin (0 or 1)
uchar rfu[10];
uint crc;
};
struct soptions {
uchar table; // saisie n. table si = '1'
uchar serveur; // type de lecture ISO : '0'=ISO2+3 / '1'=ISO2+1
uchar csum; // check sum
};
typedef struct soptions SOPT;
typedef struct {
uchar date_time[10]; // Date and time in ascii HHMMDDMMYY
uchar card_info[14];
// Card information in string :
// - for magnetic cards :
// BIN(6bytes)+' '+CardNumberLength(2bytes)+' '+ServiceCode(2bytes)+\0
// - for smart card : 14 first bytes of the ATR +\0
// - for cheque : cheque number(7bytes)+' '+...(6bytes)
} typ_card_record;
typedef struct {
uchar date_time[10]; // Date and time in ascii HHMMDDMMYY
} typ_date_time;
typedef struct {
typ_card_record UnknownCards[5];
typ_card_record ConflictCards[5];
typ_date_time PowerCut[6];
uint crc;
} typ_anomalies;
// Message header to be placed just before menui in mesos.c
typedef struct {
uchar Flag[3];
uchar Version;
uchar NbLanguage;
uchar NbColDisplay; // added LC 14/04/98
uchar NbLineDisplay;
uchar NbColPrinter;
uchar Rfu[7];
} typ_MsgHeader;
#ifndef __OSINPUT_H
#define __OSINPUT_H
// Os__multi_input parameters structure
typedef struct {
uchar line_nb; /*line number for display and acquisition */
uchar column_nb; /*column number for acquisition */
uchar min_keys; /*minimum number of keys to be entered */
uchar max_keys; /*maximum number of keys to be entered */
uchar VAL_autor; /*0=key VAL autorised / other=1 */
uchar mode; /*acquisition mode : */
/* 0 = normal acquisition(as Os__get_varkey)*/
/* 1 = amount with 2 decimals and coma */
/* (as Os__get_amount) */
/* 2 = amount with n decimals(see visu_code)*/
/* 3 = amount with n decimals and point */
/* (see visu_code) */
uchar VAL_only; /*0=only key VAL or ANN can end the input */
/* / other=1 */
uchar visu_code; /*For mode = 0 or 1 : */
/* -> character to be displayed : */
/* - 0=real character */
/* - other=character to be displayed */
/*For mode = 2 or 3 : */
/* -> nomber of decimals */
uchar text[16]; /*text to be displayed (ascii string */
/* ended by a NULL (15 characters max)) */
} INPUT_PARAM;
#endif
typedef struct {
uchar ty_modem[2]; // '0'=cle '1'=modem
uchar cle_com[2]; // '0'=com2 '1'=com3
uchar vitesse_cle[2]; // 0=1200, 1=2400, 2=4800, 3=9600, 4=14400, 5=19200
uchar DTR_type[2]; // '0'=managed by hardware, '1'=by software (with AT command)
uchar rfu[3];
uint crc; // controle
} OS_CLE_RNIS;
typedef struct {
uchar niveau[3];
uint crc;
} typ_modem_level;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -