1 // This may look like C code, but it is really -*- C++ -*-
2
3 // ------------------------------------------------------------------
4 // The Goldware Library
5 // Copyright (C) 1990-1999 Odinn Sorensen
6 // Copyright (C) 1999-2000 Alexander S. Aganichev
7 // ------------------------------------------------------------------
8 // This library is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU Library General Public
10 // License as published by the Free Software Foundation; either
11 // version 2 of the License, or (at your option) any later version.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Library General Public License for more details.
17 //
18 // You should have received a copy of the GNU Library General Public
19 // License along with this program; if not, write to the Free
20 // Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
21 // MA 02111-1307, USA
22 // ------------------------------------------------------------------
23 // $Id: gmsgattr.h,v 1.6 2006/04/21 19:57:29 ssianky Exp $
24 // ------------------------------------------------------------------
25 // Message attributes.
26 // ------------------------------------------------------------------
27
28 #ifndef __gmsgattr_h
29 #define __gmsgattr_h
30
31
32 // ------------------------------------------------------------------
33
34 #include <string>
35 #include <gdefs.h>
36 #include <gstrall.h>
37
38
39 // ------------------------------------------------------------------
40 // Internal GoldED message attributes
41
42 const uint32_t GATTR_PVT = 0x00000001UL; // private
43 const uint32_t GATTR_CRA = 0x00000002UL; // crash
44 const uint32_t GATTR_RCV = 0x00000004UL; // received
45 const uint32_t GATTR_SNT = 0x00000008UL; // sent
46
47 const uint32_t GATTR_ATT = 0x00000010UL; // file attach
48 const uint32_t GATTR_TRS = 0x00000020UL; // transit
49 const uint32_t GATTR_ORP = 0x00000040UL; // orphaned
50 const uint32_t GATTR_K_S = 0x00000080UL; // kill msg when sent
51
52 const uint32_t GATTR_LOC = 0x00000100UL; // local
53 const uint32_t GATTR_HLD = 0x00000200UL; // hold
54 const uint32_t GATTR_RSV = 0x00000400UL; // FTS-1 reserved
55 const uint32_t GATTR_FRQ = 0x00000800UL; // file request
56
57 const uint32_t GATTR_RRQ = 0x00001000UL; // return receipt request
58 const uint32_t GATTR_RRC = 0x00002000UL; // return receipt
59 const uint32_t GATTR_ARQ = 0x00004000UL; // audit request
60 const uint32_t GATTR_URQ = 0x00008000UL; // file update request
61
62 const uint32_t GATTR_GRP = 0x00010000UL; // group msg (hudson)
63 const uint32_t GATTR_IMM = 0x00020000UL; // immediate
64 const uint32_t GATTR_DIR = 0x00040000UL; // direct
65 const uint32_t GATTR_TFS = 0x00080000UL; // truncate file when sent
66
67 const uint32_t GATTR_KFS = 0x00100000UL; // kill file when sent
68 const uint32_t GATTR_LOK = 0x00200000UL; // locked
69 const uint32_t GATTR_A_S = 0x00400000UL; // archive msg when sent
70 const uint32_t GATTR_ZON = 0x00800000UL; // send through zone gate
71
72 const uint32_t GATTR_HUB = 0x01000000UL; // host- or hub route
73 const uint32_t GATTR_XMA = 0x02000000UL; // xmail: alternate form of compressed mail attached
74 const uint32_t GATTR_CFM = 0x04000000UL; // confirmation receipt requested
75 const uint32_t GATTR_HIR = 0x08000000UL; // fax: hi-resolution image
76
77 const uint32_t GATTR_COV = 0x10000000UL; // fax: cover sheet
78 const uint32_t GATTR_SIG = 0x20000000UL; // fax: signature
79 const uint32_t GATTR_LET = 0x40000000UL; // fax: letterhead
80 const uint32_t GATTR_UNS = 0x80000000UL; // unsent - not scanned (internal)
81
82 const uint32_t GATTR_DEL = 0x00000001UL; // deleted
83 const uint32_t GATTR_NWM = 0x00000002UL; // new message (internal)
84 const uint32_t GATTR_ROT = 0x00000004UL; // rot-13 encoded (internal)
85 const uint32_t GATTR_HEX = 0x00000008UL; // hexdump (internal)
86
87 const uint32_t GATTR_UPD = 0x00000010UL; // update *.msg time stamp (internal)
88 const uint32_t GATTR_TOU = 0x00000020UL; // to-you (internal)
89 const uint32_t GATTR_FMU = 0x00000040UL; // from-you (internal)
90 const uint32_t GATTR_SCN = 0x00000080UL; // scanned (squish)
91
92 const uint32_t GATTR_POS = 0x00000100UL; // set line position (internal)
93 const uint32_t GATTR_R_O = 0x00000200UL; // area read-only
94 const uint32_t GATTR_NOK = 0x00000400UL; // (not used)
95 const uint32_t GATTR_FAX = 0x00000800UL; // file attached is a fax image
96
97 const uint32_t GATTR_PRN = 0x00001000UL; // message is printed (squish)
98 const uint32_t GATTR_ANO = 0x00002000UL; // anonymous
99 const uint32_t GATTR_UME = 0x00004000UL; // unmoved echo message (adeptxbbs)
100 const uint32_t GATTR_UMN = 0x00008000UL; // unmoved net message (adeptxbbs)
101
102 const uint32_t GATTR_FSC = 0x00010000UL; // fidonet scanned (adeptxbbs)
103 const uint32_t GATTR_GSC = 0x00020000UL; // groupmail scanned (adeptxbbs)
104 const uint32_t GATTR_RSC = 0x00040000UL; // rfc822 scanned (adeptxbbs)
105 const uint32_t GATTR_TRT = 0x00080000UL; // treated: soft cr's & lf's removed (adeptxbbs)
106
107 const uint32_t GATTR_LZS = 0x00100000UL; // msg is lzss compressed (adeptxbbs)
108 const uint32_t GATTR_ARC = 0x00200000UL; // message is stored (adeptxbbs)
109 const uint32_t GATTR_TAG = 0x00400000UL; // tagged: used by offline readers (adeptxbbs & wildcat)
110 const uint32_t GATTR_RAB = 0x00800000UL; // receivable (wildcat)
111
112 const uint32_t GATTR_CAR = 0x01000000UL; // carboned (wildcat)
113 const uint32_t GATTR_FWD = 0x02000000UL; // forwarded (wildcat)
114 const uint32_t GATTR_EFL = 0x04000000UL; // echoflag (wildcat)
115 const uint32_t GATTR_HRP = 0x08000000UL; // has replies (wildcat)
116
117 const uint32_t GATTR_PKD = 0x10000000UL; // Archived
118
119 class ftn_attr {
120
121 protected:
122
123 uint32_t attr1, attr2;
124
125 public:
126
ftn_attr()127 ftn_attr() { reset(); }
ftn_attr(const char * s)128 ftn_attr(const char* s) { get(s); }
ftn_attr(const std::string & s)129 ftn_attr(const std::string& s) { get(s); }
ftn_attr(const ftn_attr & o)130 ftn_attr(const ftn_attr& o) { operator=(o); }
131
reset()132 void reset() { attr1 = attr2 = 0; }
133
134 void add(const ftn_attr& b);
135 void get(const std::string& s);
136 std::string& make_string(std::string& s) const;
137
138 bool equals(const ftn_attr& b) const;
139
140 ftn_attr& operator=(const char* s) { get(s); return *this; }
141 ftn_attr& operator=(const std::string& s) { get(s); return *this; }
142 ftn_attr& operator=(const ftn_attr& o) { attr1=o.attr1; attr2=o.attr2; return *this; }
143
144 bool operator==(const ftn_attr& b) const { return equals(b); }
145 bool operator!=(const ftn_attr& b) const { return !equals(b); }
146
147 // ----------------------------------------------------------------
148
pvt()149 int pvt() const { return (attr1 & GATTR_PVT) != 0; }
cra()150 int cra() const { return (attr1 & GATTR_CRA) != 0; }
rcv()151 int rcv() const { return (attr1 & GATTR_RCV) != 0; }
snt()152 int snt() const { return (attr1 & GATTR_SNT) != 0; }
153
att()154 int att() const { return (attr1 & GATTR_ATT) != 0; }
trs()155 int trs() const { return (attr1 & GATTR_TRS) != 0; }
orp()156 int orp() const { return (attr1 & GATTR_ORP) != 0; }
k_s()157 int k_s() const { return (attr1 & GATTR_K_S) != 0; }
158
loc()159 int loc() const { return (attr1 & GATTR_LOC) != 0; }
hld()160 int hld() const { return (attr1 & GATTR_HLD) != 0; }
rsv()161 int rsv() const { return (attr1 & GATTR_RSV) != 0; }
frq()162 int frq() const { return (attr1 & GATTR_FRQ) != 0; }
163
rrq()164 int rrq() const { return (attr1 & GATTR_RRQ) != 0; }
rrc()165 int rrc() const { return (attr1 & GATTR_RRC) != 0; }
arq()166 int arq() const { return (attr1 & GATTR_ARQ) != 0; }
urq()167 int urq() const { return (attr1 & GATTR_URQ) != 0; }
168
grp()169 int grp() const { return (attr1 & GATTR_GRP) != 0; }
imm()170 int imm() const { return (attr1 & GATTR_IMM) != 0; }
dir()171 int dir() const { return (attr1 & GATTR_DIR) != 0; }
tfs()172 int tfs() const { return (attr1 & GATTR_TFS) != 0; }
173
kfs()174 int kfs() const { return (attr1 & GATTR_KFS) != 0; }
lok()175 int lok() const { return (attr1 & GATTR_LOK) != 0; }
a_s()176 int a_s() const { return (attr1 & GATTR_A_S) != 0; }
zon()177 int zon() const { return (attr1 & GATTR_ZON) != 0; }
178
hub()179 int hub() const { return (attr1 & GATTR_HUB) != 0; }
xma()180 int xma() const { return (attr1 & GATTR_XMA) != 0; }
cfm()181 int cfm() const { return (attr1 & GATTR_CFM) != 0; }
hir()182 int hir() const { return (attr1 & GATTR_HIR) != 0; }
183
cov()184 int cov() const { return (attr1 & GATTR_COV) != 0; }
sig()185 int sig() const { return (attr1 & GATTR_SIG) != 0; }
let()186 int let() const { return (attr1 & GATTR_LET) != 0; }
uns()187 int uns() const { return (attr1 & GATTR_UNS) != 0; }
188
del()189 int del() const { return (attr2 & GATTR_DEL) != 0; }
nwm()190 int nwm() const { return (attr2 & GATTR_NWM) != 0; }
rot()191 int rot() const { return (attr2 & GATTR_ROT) != 0; }
hex()192 int hex() const { return (attr2 & GATTR_HEX) != 0; }
193
upd()194 int upd() const { return (attr2 & GATTR_UPD) != 0; }
tou()195 int tou() const { return (attr2 & GATTR_TOU) != 0; }
fmu()196 int fmu() const { return (attr2 & GATTR_FMU) != 0; }
scn()197 int scn() const { return (attr2 & GATTR_SCN) != 0; }
198
pos()199 int pos() const { return (attr2 & GATTR_POS) != 0; }
r_o()200 int r_o() const { return (attr2 & GATTR_R_O) != 0; }
nok()201 int nok() const { return (attr2 & GATTR_NOK) != 0; }
fax()202 int fax() const { return (attr2 & GATTR_FAX) != 0; }
203
prn()204 int prn() const { return (attr2 & GATTR_PRN) != 0; }
ano()205 int ano() const { return (attr2 & GATTR_ANO) != 0; }
ume()206 int ume() const { return (attr2 & GATTR_UME) != 0; }
umn()207 int umn() const { return (attr2 & GATTR_UMN) != 0; }
208
fsc()209 int fsc() const { return (attr2 & GATTR_FSC) != 0; }
gsc()210 int gsc() const { return (attr2 & GATTR_GSC) != 0; }
rsc()211 int rsc() const { return (attr2 & GATTR_RSC) != 0; }
trt()212 int trt() const { return (attr2 & GATTR_TRT) != 0; }
213
lzs()214 int lzs() const { return (attr2 & GATTR_LZS) != 0; }
arc()215 int arc() const { return (attr2 & GATTR_ARC) != 0; }
tag()216 int tag() const { return (attr2 & GATTR_TAG) != 0; }
rab()217 int rab() const { return (attr2 & GATTR_RAB) != 0; }
218
car()219 int car() const { return (attr2 & GATTR_CAR) != 0; }
fwd()220 int fwd() const { return (attr2 & GATTR_FWD) != 0; }
efl()221 int efl() const { return (attr2 & GATTR_EFL) != 0; }
hrp()222 int hrp() const { return (attr2 & GATTR_HRP) != 0; }
223
pkd()224 int pkd() const { return (attr2 & GATTR_PKD) != 0; }
225
226 // ----------------------------------------------------------------
227
pvt(uint32_t x)228 void pvt(uint32_t x) { if(x) attr1 |= GATTR_PVT; else attr1 &= ~GATTR_PVT; }
cra(uint32_t x)229 void cra(uint32_t x) { if(x) attr1 |= GATTR_CRA; else attr1 &= ~GATTR_CRA; }
rcv(uint32_t x)230 void rcv(uint32_t x) { if(x) attr1 |= GATTR_RCV; else attr1 &= ~GATTR_RCV; }
snt(uint32_t x)231 void snt(uint32_t x) { if(x) attr1 |= GATTR_SNT; else attr1 &= ~GATTR_SNT; }
232
att(uint32_t x)233 void att(uint32_t x) { if(x) attr1 |= GATTR_ATT; else attr1 &= ~GATTR_ATT; }
trs(uint32_t x)234 void trs(uint32_t x) { if(x) attr1 |= GATTR_TRS; else attr1 &= ~GATTR_TRS; }
orp(uint32_t x)235 void orp(uint32_t x) { if(x) attr1 |= GATTR_ORP; else attr1 &= ~GATTR_ORP; }
k_s(uint32_t x)236 void k_s(uint32_t x) { if(x) attr1 |= GATTR_K_S; else attr1 &= ~GATTR_K_S; }
237
loc(uint32_t x)238 void loc(uint32_t x) { if(x) attr1 |= GATTR_LOC; else attr1 &= ~GATTR_LOC; }
hld(uint32_t x)239 void hld(uint32_t x) { if(x) attr1 |= GATTR_HLD; else attr1 &= ~GATTR_HLD; }
rsv(uint32_t x)240 void rsv(uint32_t x) { if(x) attr1 |= GATTR_RSV; else attr1 &= ~GATTR_RSV; }
frq(uint32_t x)241 void frq(uint32_t x) { if(x) attr1 |= GATTR_FRQ; else attr1 &= ~GATTR_FRQ; }
242
rrq(uint32_t x)243 void rrq(uint32_t x) { if(x) attr1 |= GATTR_RRQ; else attr1 &= ~GATTR_RRQ; }
rrc(uint32_t x)244 void rrc(uint32_t x) { if(x) attr1 |= GATTR_RRC; else attr1 &= ~GATTR_RRC; }
arq(uint32_t x)245 void arq(uint32_t x) { if(x) attr1 |= GATTR_ARQ; else attr1 &= ~GATTR_ARQ; }
urq(uint32_t x)246 void urq(uint32_t x) { if(x) attr1 |= GATTR_URQ; else attr1 &= ~GATTR_URQ; }
247
grp(uint32_t x)248 void grp(uint32_t x) { if(x) attr1 |= GATTR_GRP; else attr1 &= ~GATTR_GRP; }
imm(uint32_t x)249 void imm(uint32_t x) { if(x) attr1 |= GATTR_IMM; else attr1 &= ~GATTR_IMM; }
dir(uint32_t x)250 void dir(uint32_t x) { if(x) attr1 |= GATTR_DIR; else attr1 &= ~GATTR_DIR; }
tfs(uint32_t x)251 void tfs(uint32_t x) { if(x) attr1 |= GATTR_TFS; else attr1 &= ~GATTR_TFS; }
252
kfs(uint32_t x)253 void kfs(uint32_t x) { if(x) attr1 |= GATTR_KFS; else attr1 &= ~GATTR_KFS; }
lok(uint32_t x)254 void lok(uint32_t x) { if(x) attr1 |= GATTR_LOK; else attr1 &= ~GATTR_LOK; }
a_s(uint32_t x)255 void a_s(uint32_t x) { if(x) attr1 |= GATTR_A_S; else attr1 &= ~GATTR_A_S; }
zon(uint32_t x)256 void zon(uint32_t x) { if(x) attr1 |= GATTR_ZON; else attr1 &= ~GATTR_ZON; }
257
hub(uint32_t x)258 void hub(uint32_t x) { if(x) attr1 |= GATTR_HUB; else attr1 &= ~GATTR_HUB; }
xma(uint32_t x)259 void xma(uint32_t x) { if(x) attr1 |= GATTR_XMA; else attr1 &= ~GATTR_XMA; }
cfm(uint32_t x)260 void cfm(uint32_t x) { if(x) attr1 |= GATTR_CFM; else attr1 &= ~GATTR_CFM; }
hir(uint32_t x)261 void hir(uint32_t x) { if(x) attr1 |= GATTR_HIR; else attr1 &= ~GATTR_HIR; }
262
cov(uint32_t x)263 void cov(uint32_t x) { if(x) attr1 |= GATTR_COV; else attr1 &= ~GATTR_COV; }
sig(uint32_t x)264 void sig(uint32_t x) { if(x) attr1 |= GATTR_SIG; else attr1 &= ~GATTR_SIG; }
let(uint32_t x)265 void let(uint32_t x) { if(x) attr1 |= GATTR_LET; else attr1 &= ~GATTR_LET; }
uns(uint32_t x)266 void uns(uint32_t x) { if(x) attr1 |= GATTR_UNS; else attr1 &= ~GATTR_UNS; }
267
del(uint32_t x)268 void del(uint32_t x) { if(x) attr2 |= GATTR_DEL; else attr2 &= ~GATTR_DEL; }
nwm(uint32_t x)269 void nwm(uint32_t x) { if(x) attr2 |= GATTR_NWM; else attr2 &= ~GATTR_NWM; }
rot(uint32_t x)270 void rot(uint32_t x) { if(x) attr2 |= GATTR_ROT; else attr2 &= ~GATTR_ROT; }
hex(uint32_t x)271 void hex(uint32_t x) { if(x) attr2 |= GATTR_HEX; else attr2 &= ~GATTR_HEX; }
272
upd(uint32_t x)273 void upd(uint32_t x) { if(x) attr2 |= GATTR_UPD; else attr2 &= ~GATTR_UPD; }
tou(uint32_t x)274 void tou(uint32_t x) { if(x) attr2 |= GATTR_TOU; else attr2 &= ~GATTR_TOU; }
fmu(uint32_t x)275 void fmu(uint32_t x) { if(x) attr2 |= GATTR_FMU; else attr2 &= ~GATTR_FMU; }
scn(uint32_t x)276 void scn(uint32_t x) { if(x) attr2 |= GATTR_SCN; else attr2 &= ~GATTR_SCN; }
277
pos(uint32_t x)278 void pos(uint32_t x) { if(x) attr2 |= GATTR_POS; else attr2 &= ~GATTR_POS; }
r_o(uint32_t x)279 void r_o(uint32_t x) { if(x) attr2 |= GATTR_R_O; else attr2 &= ~GATTR_R_O; }
nok(uint32_t x)280 void nok(uint32_t x) { if(x) attr2 |= GATTR_NOK; else attr2 &= ~GATTR_NOK; }
fax(uint32_t x)281 void fax(uint32_t x) { if(x) attr2 |= GATTR_FAX; else attr2 &= ~GATTR_FAX; }
282
prn(uint32_t x)283 void prn(uint32_t x) { if(x) attr2 |= GATTR_PRN; else attr2 &= ~GATTR_PRN; }
ano(uint32_t x)284 void ano(uint32_t x) { if(x) attr2 |= GATTR_ANO; else attr2 &= ~GATTR_ANO; }
ume(uint32_t x)285 void ume(uint32_t x) { if(x) attr2 |= GATTR_UME; else attr2 &= ~GATTR_UME; }
umn(uint32_t x)286 void umn(uint32_t x) { if(x) attr2 |= GATTR_UMN; else attr2 &= ~GATTR_UMN; }
287
fsc(uint32_t x)288 void fsc(uint32_t x) { if(x) attr2 |= GATTR_FSC; else attr2 &= ~GATTR_FSC; }
gsc(uint32_t x)289 void gsc(uint32_t x) { if(x) attr2 |= GATTR_GSC; else attr2 &= ~GATTR_GSC; }
rsc(uint32_t x)290 void rsc(uint32_t x) { if(x) attr2 |= GATTR_RSC; else attr2 &= ~GATTR_RSC; }
trt(uint32_t x)291 void trt(uint32_t x) { if(x) attr2 |= GATTR_TRT; else attr2 &= ~GATTR_TRT; }
292
lzs(uint32_t x)293 void lzs(uint32_t x) { if(x) attr2 |= GATTR_LZS; else attr2 &= ~GATTR_LZS; }
arc(uint32_t x)294 void arc(uint32_t x) { if(x) attr2 |= GATTR_ARC; else attr2 &= ~GATTR_ARC; }
tag(uint32_t x)295 void tag(uint32_t x) { if(x) attr2 |= GATTR_TAG; else attr2 &= ~GATTR_TAG; }
rab(uint32_t x)296 void rab(uint32_t x) { if(x) attr2 |= GATTR_RAB; else attr2 &= ~GATTR_RAB; }
297
car(uint32_t x)298 void car(uint32_t x) { if(x) attr2 |= GATTR_CAR; else attr2 &= ~GATTR_CAR; }
fwd(uint32_t x)299 void fwd(uint32_t x) { if(x) attr2 |= GATTR_FWD; else attr2 &= ~GATTR_FWD; }
efl(uint32_t x)300 void efl(uint32_t x) { if(x) attr2 |= GATTR_EFL; else attr2 &= ~GATTR_EFL; }
hrp(uint32_t x)301 void hrp(uint32_t x) { if(x) attr2 |= GATTR_HRP; else attr2 &= ~GATTR_HRP; }
302
pkd(uint32_t x)303 void pkd(uint32_t x) { if(x) attr2 |= GATTR_PKD; else attr2 &= ~GATTR_PKD; }
304
305 // -------------------------------------------------------------
306
pvt0()307 void pvt0() { attr1 &= ~GATTR_PVT; }
cra0()308 void cra0() { attr1 &= ~GATTR_CRA; }
rcv0()309 void rcv0() { attr1 &= ~GATTR_RCV; }
snt0()310 void snt0() { attr1 &= ~GATTR_SNT; }
311
att0()312 void att0() { attr1 &= ~GATTR_ATT; }
trs0()313 void trs0() { attr1 &= ~GATTR_TRS; }
orp0()314 void orp0() { attr1 &= ~GATTR_ORP; }
k_s0()315 void k_s0() { attr1 &= ~GATTR_K_S; }
316
loc0()317 void loc0() { attr1 &= ~GATTR_LOC; }
hld0()318 void hld0() { attr1 &= ~GATTR_HLD; }
rsv0()319 void rsv0() { attr1 &= ~GATTR_RSV; }
frq0()320 void frq0() { attr1 &= ~GATTR_FRQ; }
321
rrq0()322 void rrq0() { attr1 &= ~GATTR_RRQ; }
rrc0()323 void rrc0() { attr1 &= ~GATTR_RRC; }
arq0()324 void arq0() { attr1 &= ~GATTR_ARQ; }
urq0()325 void urq0() { attr1 &= ~GATTR_URQ; }
326
grp0()327 void grp0() { attr1 &= ~GATTR_GRP; }
imm0()328 void imm0() { attr1 &= ~GATTR_IMM; }
dir0()329 void dir0() { attr1 &= ~GATTR_DIR; }
tfs0()330 void tfs0() { attr1 &= ~GATTR_TFS; }
331
kfs0()332 void kfs0() { attr1 &= ~GATTR_KFS; }
lok0()333 void lok0() { attr1 &= ~GATTR_LOK; }
a_s0()334 void a_s0() { attr1 &= ~GATTR_A_S; }
zon0()335 void zon0() { attr1 &= ~GATTR_ZON; }
336
hub0()337 void hub0() { attr1 &= ~GATTR_HUB; }
xma0()338 void xma0() { attr1 &= ~GATTR_XMA; }
cfm0()339 void cfm0() { attr1 &= ~GATTR_CFM; }
hir0()340 void hir0() { attr1 &= ~GATTR_HIR; }
341
cov0()342 void cov0() { attr1 &= ~GATTR_COV; }
sig0()343 void sig0() { attr1 &= ~GATTR_SIG; }
let0()344 void let0() { attr1 &= ~GATTR_LET; }
uns0()345 void uns0() { attr1 &= ~GATTR_UNS; }
346
del0()347 void del0() { attr2 &= ~GATTR_DEL; }
nwm0()348 void nwm0() { attr2 &= ~GATTR_NWM; }
rot0()349 void rot0() { attr2 &= ~GATTR_ROT; }
hex0()350 void hex0() { attr2 &= ~GATTR_HEX; }
351
upd0()352 void upd0() { attr2 &= ~GATTR_UPD; }
tou0()353 void tou0() { attr2 &= ~GATTR_TOU; }
fmu0()354 void fmu0() { attr2 &= ~GATTR_FMU; }
scn0()355 void scn0() { attr2 &= ~GATTR_SCN; }
356
pos0()357 void pos0() { attr2 &= ~GATTR_POS; }
r_o0()358 void r_o0() { attr2 &= ~GATTR_R_O; }
nok0()359 void nok0() { attr2 &= ~GATTR_NOK; }
fax0()360 void fax0() { attr2 &= ~GATTR_FAX; }
361
prn0()362 void prn0() { attr2 &= ~GATTR_PRN; }
363
364 // ----------------------------------------------------------------
365
pvt1()366 void pvt1() { attr1 |= GATTR_PVT; }
cra1()367 void cra1() { attr1 |= GATTR_CRA; }
rcv1()368 void rcv1() { attr1 |= GATTR_RCV; }
snt1()369 void snt1() { attr1 |= GATTR_SNT; }
370
att1()371 void att1() { attr1 |= GATTR_ATT; }
trs1()372 void trs1() { attr1 |= GATTR_TRS; }
orp1()373 void orp1() { attr1 |= GATTR_ORP; }
k_s1()374 void k_s1() { attr1 |= GATTR_K_S; }
375
loc1()376 void loc1() { attr1 |= GATTR_LOC; }
hld1()377 void hld1() { attr1 |= GATTR_HLD; }
rsv1()378 void rsv1() { attr1 |= GATTR_RSV; }
frq1()379 void frq1() { attr1 |= GATTR_FRQ; }
380
rrq1()381 void rrq1() { attr1 |= GATTR_RRQ; }
rrc1()382 void rrc1() { attr1 |= GATTR_RRC; }
arq1()383 void arq1() { attr1 |= GATTR_ARQ; }
urq1()384 void urq1() { attr1 |= GATTR_URQ; }
385
grp1_()386 void grp1_() { attr1 |= GATTR_GRP; }
imm1()387 void imm1() { attr1 |= GATTR_IMM; }
dir1()388 void dir1() { attr1 |= GATTR_DIR; }
tfs1()389 void tfs1() { attr1 |= GATTR_TFS; }
390
kfs1()391 void kfs1() { attr1 |= GATTR_KFS; }
lok1()392 void lok1() { attr1 |= GATTR_LOK; }
a_s1()393 void a_s1() { attr1 |= GATTR_A_S; }
zon1()394 void zon1() { attr1 |= GATTR_ZON; }
395
hub1()396 void hub1() { attr1 |= GATTR_HUB; }
xma1()397 void xma1() { attr1 |= GATTR_XMA; }
cfm1()398 void cfm1() { attr1 |= GATTR_CFM; }
hir1()399 void hir1() { attr1 |= GATTR_HIR; }
400
cov1()401 void cov1() { attr1 |= GATTR_COV; }
sig1()402 void sig1() { attr1 |= GATTR_SIG; }
let1()403 void let1() { attr1 |= GATTR_LET; }
uns1()404 void uns1() { attr1 |= GATTR_UNS; }
405
del1()406 void del1() { attr2 |= GATTR_DEL; }
nwm1()407 void nwm1() { attr2 |= GATTR_NWM; }
rot1()408 void rot1() { attr2 |= GATTR_ROT; }
hex1()409 void hex1() { attr2 |= GATTR_HEX; }
410
upd1()411 void upd1() { attr2 |= GATTR_UPD; }
tou1()412 void tou1() { attr2 |= GATTR_TOU; }
fmu1()413 void fmu1() { attr2 |= GATTR_FMU; }
scn1()414 void scn1() { attr2 |= GATTR_SCN; }
415
pos1()416 void pos1() { attr2 |= GATTR_POS; }
r_o1()417 void r_o1() { attr2 |= GATTR_R_O; }
nok1()418 void nok1() { attr2 |= GATTR_NOK; }
fax1()419 void fax1() { attr2 |= GATTR_FAX; }
420
prn1()421 void prn1() { attr2 |= GATTR_PRN; }
422
pkd1()423 void pkd1() { attr2 |= GATTR_PKD; }
424
425 // ----------------------------------------------------------------
426
pvtX()427 void pvtX() { attr1 ^= GATTR_PVT; }
craX()428 void craX() { attr1 ^= GATTR_CRA; }
rcvX()429 void rcvX() { attr1 ^= GATTR_RCV; }
sntX()430 void sntX() { attr1 ^= GATTR_SNT; }
431
attX()432 void attX() { attr1 ^= GATTR_ATT; }
trsX()433 void trsX() { attr1 ^= GATTR_TRS; }
orpX()434 void orpX() { attr1 ^= GATTR_ORP; }
k_sX()435 void k_sX() { attr1 ^= GATTR_K_S; }
436
locX()437 void locX() { attr1 ^= GATTR_LOC; }
hldX()438 void hldX() { attr1 ^= GATTR_HLD; }
rsvX()439 void rsvX() { attr1 ^= GATTR_RSV; }
frqX()440 void frqX() { attr1 ^= GATTR_FRQ; }
441
rrqX()442 void rrqX() { attr1 ^= GATTR_RRQ; }
rrcX()443 void rrcX() { attr1 ^= GATTR_RRC; }
arqX()444 void arqX() { attr1 ^= GATTR_ARQ; }
urqX()445 void urqX() { attr1 ^= GATTR_URQ; }
446
grpX()447 void grpX() { attr1 ^= GATTR_GRP; }
immX()448 void immX() { attr1 ^= GATTR_IMM; }
dirX()449 void dirX() { attr1 ^= GATTR_DIR; }
tfsX()450 void tfsX() { attr1 ^= GATTR_TFS; }
451
kfsX()452 void kfsX() { attr1 ^= GATTR_KFS; }
lokX()453 void lokX() { attr1 ^= GATTR_LOK; }
a_sX()454 void a_sX() { attr1 ^= GATTR_A_S; }
zonX()455 void zonX() { attr1 ^= GATTR_ZON; }
456
hubX()457 void hubX() { attr1 ^= GATTR_HUB; }
xmaX()458 void xmaX() { attr1 ^= GATTR_XMA; }
cfmX()459 void cfmX() { attr1 ^= GATTR_CFM; }
hirX()460 void hirX() { attr1 ^= GATTR_HIR; }
461
covX()462 void covX() { attr1 ^= GATTR_COV; }
sigX()463 void sigX() { attr1 ^= GATTR_SIG; }
letX()464 void letX() { attr1 ^= GATTR_LET; }
unsX()465 void unsX() { attr1 ^= GATTR_UNS; }
466
delX()467 void delX() { attr2 ^= GATTR_DEL; }
nwmX()468 void nwmX() { attr2 ^= GATTR_NWM; }
rotX()469 void rotX() { attr2 ^= GATTR_ROT; }
hexX()470 void hexX() { attr2 ^= GATTR_HEX; }
471
updX()472 void updX() { attr2 ^= GATTR_UPD; }
touX()473 void touX() { attr2 ^= GATTR_TOU; }
fmuX()474 void fmuX() { attr2 ^= GATTR_FMU; }
scnX()475 void scnX() { attr2 ^= GATTR_SCN; }
476
posX()477 void posX() { attr2 ^= GATTR_POS; }
r_oX()478 void r_oX() { attr2 ^= GATTR_R_O; }
nokX()479 void nokX() { attr2 ^= GATTR_NOK; }
faxX()480 void faxX() { attr2 ^= GATTR_FAX; }
481
prnX()482 void prnX() { attr2 ^= GATTR_PRN; }
483
484 };
485
486
487 // ------------------------------------------------------------------
488
489 typedef ftn_attr Attr;
490
491
492 // ------------------------------------------------------------------
493
AttrAdd(Attr * a,Attr * b)494 inline void AttrAdd(Attr* a, Attr* b) { a->add(*b); }
GetAttribstr(Attr * attr,const TCHAR * attrs)495 inline void GetAttribstr(Attr* attr, const TCHAR *attrs) { attr->get(attrs); }
MakeAttrStr(TCHAR * str,size_t maxlen,const Attr * attr)496 inline TCHAR *MakeAttrStr(TCHAR *str, size_t maxlen, const Attr *attr) { std::string tmp; attr->make_string(tmp); strxcpy(str, tmp.c_str(), maxlen); return str; }
497
498
499 // ------------------------------------------------------------------
500
501 #endif
502
503 // ------------------------------------------------------------------
504