1 /*****************************************************************************/ 2 /* */ 3 /* (C) Copyright 1992-1997 Alberto Pasquale */ 4 /* */ 5 /* A L L R I G H T S R E S E R V E D */ 6 /* */ 7 /*****************************************************************************/ 8 /* */ 9 /* This source code is NOT in the public domain and it CANNOT be used or */ 10 /* distributed without written permission from the author. */ 11 /* */ 12 /*****************************************************************************/ 13 /* */ 14 /* How to contact the author: Alberto Pasquale of 2:332/504@fidonet */ 15 /* Viale Verdi 106 */ 16 /* 41100 Modena */ 17 /* Italy */ 18 /* */ 19 /*****************************************************************************/ 20 21 // Types.hpp 22 23 24 #ifndef TYPES_HPP 25 #define TYPES_HPP 26 27 #include "addrs.hpp" 28 #include "v7.hpp" 29 #include "phtrans.hpp" 30 31 32 struct StrChain { 33 char *text; 34 StrChain *next; 35 }; 36 37 38 struct CS { 39 word cost; 40 word ucost; 41 }; 42 43 44 struct CO { // cost table 45 char *mstr; 46 word cost; // call cost (analog) 47 word ucost; // user cost (analog) 48 word costdig; // call cost (digital) (def. =cost) 49 word ucostdig; // user cost (digital) (def. =ucost) 50 CO *next; 51 }; 52 53 54 struct DL { // dial table 55 char *mstr; 56 char *pre; 57 char *post; 58 StrChain *Exchange_head; // used for LocalValues/LocalExchanges 59 CO *co; // used when combined dial/cost is used 60 DL *next; 61 }; 62 63 64 #define TD_DIGITAL 0x01 65 66 struct TD { // TypeDef 67 char flag[50]; 68 byte type; 69 byte info; // additional info on the flag, bit-wise 70 PT *pt; // Phone Trans pointer, NULL if none. 71 TD *next; 72 }; 73 74 75 struct FD { // FlagDef 76 char flag[50]; 77 word flag_w; 78 FD *next; 79 }; 80 81 82 struct ADRDATA { // password, phone, flags, cost 83 ADR adr; 84 union { 85 char *txt; 86 struct { 87 word w1; 88 word w2; 89 } w; 90 }; 91 ADRDATA *next; 92 }; 93 94 95 // V7DATA.flags 96 97 #define V7DTP_F 0x0001 // Make v7+ DTP data file 98 #define V7PDX_F 0x0002 // Make v7+ PDX Phone Index 99 #define V7Dsk_F 0x0004 // Link using Disk (otherwise memory) 100 #define Stats_F 0x0008 // Log Statistics for this output nodelist 101 102 103 struct V7DATA { 104 char *nodex; // No extension 105 char *sysopndx; 106 word flags; 107 }; 108 109 110 111 #endif 112 113