496 lines
20 KiB
C++
496 lines
20 KiB
C++
// This may look like C code, but it is really -*- C++ -*-
|
|
|
|
// ------------------------------------------------------------------
|
|
// The Goldware Library
|
|
// Copyright (C) 1990-1999 Odinn Sorensen
|
|
// Copyright (C) 1999-2000 Alexander S. Aganichev
|
|
// ------------------------------------------------------------------
|
|
// This library is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU Library General Public
|
|
// License as published by the Free Software Foundation; either
|
|
// version 2 of the License, or (at your option) any later version.
|
|
//
|
|
// This library 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
|
|
// Library General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU Library General Public
|
|
// License along with this program; if not, write to the Free
|
|
// Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
|
|
// MA 02111-1307, USA
|
|
// ------------------------------------------------------------------
|
|
// $Id$
|
|
// ------------------------------------------------------------------
|
|
// Message attributes.
|
|
// ------------------------------------------------------------------
|
|
|
|
#ifndef __gmsgattr_h
|
|
#define __gmsgattr_h
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#include <string>
|
|
#include <gdefs.h>
|
|
#include <gstrall.h>
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
// Internal GoldED message attributes
|
|
|
|
const ulong GATTR_PVT = 0x00000001UL; // private
|
|
const ulong GATTR_CRA = 0x00000002UL; // crash
|
|
const ulong GATTR_RCV = 0x00000004UL; // received
|
|
const ulong GATTR_SNT = 0x00000008UL; // sent
|
|
|
|
const ulong GATTR_ATT = 0x00000010UL; // file attach
|
|
const ulong GATTR_TRS = 0x00000020UL; // transit
|
|
const ulong GATTR_ORP = 0x00000040UL; // orphaned
|
|
const ulong GATTR_K_S = 0x00000080UL; // kill msg when sent
|
|
|
|
const ulong GATTR_LOC = 0x00000100UL; // local
|
|
const ulong GATTR_HLD = 0x00000200UL; // hold
|
|
const ulong GATTR_RSV = 0x00000400UL; // FTS-1 reserved
|
|
const ulong GATTR_FRQ = 0x00000800UL; // file request
|
|
|
|
const ulong GATTR_RRQ = 0x00001000UL; // return receipt request
|
|
const ulong GATTR_RRC = 0x00002000UL; // return receipt
|
|
const ulong GATTR_ARQ = 0x00004000UL; // audit request
|
|
const ulong GATTR_URQ = 0x00008000UL; // file update request
|
|
|
|
const ulong GATTR_GRP = 0x00010000UL; // group msg (hudson)
|
|
const ulong GATTR_IMM = 0x00020000UL; // immediate
|
|
const ulong GATTR_DIR = 0x00040000UL; // direct
|
|
const ulong GATTR_TFS = 0x00080000UL; // truncate file when sent
|
|
|
|
const ulong GATTR_KFS = 0x00100000UL; // kill file when sent
|
|
const ulong GATTR_LOK = 0x00200000UL; // locked
|
|
const ulong GATTR_A_S = 0x00400000UL; // archive msg when sent
|
|
const ulong GATTR_ZON = 0x00800000UL; // send through zone gate
|
|
|
|
const ulong GATTR_HUB = 0x01000000UL; // host- or hub route
|
|
const ulong GATTR_XMA = 0x02000000UL; // xmail: alternate form of compressed mail attached
|
|
const ulong GATTR_CFM = 0x04000000UL; // confirmation receipt requested
|
|
const ulong GATTR_HIR = 0x08000000UL; // fax: hi-resolution image
|
|
|
|
const ulong GATTR_COV = 0x10000000UL; // fax: cover sheet
|
|
const ulong GATTR_SIG = 0x20000000UL; // fax: signature
|
|
const ulong GATTR_LET = 0x40000000UL; // fax: letterhead
|
|
const ulong GATTR_UNS = 0x80000000UL; // unsent - not scanned (internal)
|
|
|
|
const ulong GATTR_DEL = 0x00000001UL; // deleted
|
|
const ulong GATTR_NWM = 0x00000002UL; // new message (internal)
|
|
const ulong GATTR_ROT = 0x00000004UL; // rot-13 encoded (internal)
|
|
const ulong GATTR_HEX = 0x00000008UL; // hexdump (internal)
|
|
|
|
const ulong GATTR_UPD = 0x00000010UL; // update *.msg time stamp (internal)
|
|
const ulong GATTR_TOU = 0x00000020UL; // to-you (internal)
|
|
const ulong GATTR_FMU = 0x00000040UL; // from-you (internal)
|
|
const ulong GATTR_SCN = 0x00000080UL; // scanned (squish)
|
|
|
|
const ulong GATTR_POS = 0x00000100UL; // set line position (internal)
|
|
const ulong GATTR_R_O = 0x00000200UL; // area read-only
|
|
const ulong GATTR_NOK = 0x00000400UL; // (not used)
|
|
const ulong GATTR_FAX = 0x00000800UL; // file attached is a fax image
|
|
|
|
const ulong GATTR_PRN = 0x00001000UL; // message is printed (squish)
|
|
const ulong GATTR_ANO = 0x00002000UL; // anonymous
|
|
const ulong GATTR_UME = 0x00004000UL; // unmoved echo message (adeptxbbs)
|
|
const ulong GATTR_UMN = 0x00008000UL; // unmoved net message (adeptxbbs)
|
|
|
|
const ulong GATTR_FSC = 0x00010000UL; // fidonet scanned (adeptxbbs)
|
|
const ulong GATTR_GSC = 0x00020000UL; // groupmail scanned (adeptxbbs)
|
|
const ulong GATTR_RSC = 0x00040000UL; // rfc822 scanned (adeptxbbs)
|
|
const ulong GATTR_TRT = 0x00080000UL; // treated: soft cr's & lf's removed (adeptxbbs)
|
|
|
|
const ulong GATTR_LZS = 0x00100000UL; // msg is lzss compressed (adeptxbbs)
|
|
const ulong GATTR_ARC = 0x00200000UL; // message is stored (adeptxbbs)
|
|
const ulong GATTR_TAG = 0x00400000UL; // tagged: used by offline readers (adeptxbbs & wildcat)
|
|
const ulong GATTR_RAB = 0x00800000UL; // receivable (wildcat)
|
|
|
|
const ulong GATTR_CAR = 0x01000000UL; // carboned (wildcat)
|
|
const ulong GATTR_FWD = 0x02000000UL; // forwarded (wildcat)
|
|
const ulong GATTR_EFL = 0x04000000UL; // echoflag (wildcat)
|
|
const ulong GATTR_HRP = 0x08000000UL; // has replies (wildcat)
|
|
|
|
class ftn_attr {
|
|
|
|
protected:
|
|
|
|
ulong attr1, attr2;
|
|
|
|
public:
|
|
|
|
ftn_attr() { reset(); }
|
|
ftn_attr(const char* s) { get(s); }
|
|
ftn_attr(const string& s) { get(s); }
|
|
ftn_attr(const ftn_attr& o) { operator=(o); }
|
|
|
|
void reset() { attr1 = attr2 = 0; }
|
|
|
|
void add(const ftn_attr& b);
|
|
void get(const string& s);
|
|
string& make_string(string& s) const;
|
|
|
|
bool equals(const ftn_attr& b) const;
|
|
|
|
ftn_attr& operator=(const char* s) { get(s); return *this; }
|
|
ftn_attr& operator=(const string& s) { get(s); return *this; }
|
|
ftn_attr& operator=(const ftn_attr& o) { attr1=o.attr1; attr2=o.attr2; return *this; }
|
|
|
|
bool operator==(const ftn_attr& b) const { return equals(b); }
|
|
bool operator!=(const ftn_attr& b) const { return !equals(b); }
|
|
|
|
// ----------------------------------------------------------------
|
|
|
|
int pvt() const { return (attr1 & GATTR_PVT) != 0; }
|
|
int cra() const { return (attr1 & GATTR_CRA) != 0; }
|
|
int rcv() const { return (attr1 & GATTR_RCV) != 0; }
|
|
int snt() const { return (attr1 & GATTR_SNT) != 0; }
|
|
|
|
int att() const { return (attr1 & GATTR_ATT) != 0; }
|
|
int trs() const { return (attr1 & GATTR_TRS) != 0; }
|
|
int orp() const { return (attr1 & GATTR_ORP) != 0; }
|
|
int k_s() const { return (attr1 & GATTR_K_S) != 0; }
|
|
|
|
int loc() const { return (attr1 & GATTR_LOC) != 0; }
|
|
int hld() const { return (attr1 & GATTR_HLD) != 0; }
|
|
int rsv() const { return (attr1 & GATTR_RSV) != 0; }
|
|
int frq() const { return (attr1 & GATTR_FRQ) != 0; }
|
|
|
|
int rrq() const { return (attr1 & GATTR_RRQ) != 0; }
|
|
int rrc() const { return (attr1 & GATTR_RRC) != 0; }
|
|
int arq() const { return (attr1 & GATTR_ARQ) != 0; }
|
|
int urq() const { return (attr1 & GATTR_URQ) != 0; }
|
|
|
|
int grp() const { return (attr1 & GATTR_GRP) != 0; }
|
|
int imm() const { return (attr1 & GATTR_IMM) != 0; }
|
|
int dir() const { return (attr1 & GATTR_DIR) != 0; }
|
|
int tfs() const { return (attr1 & GATTR_TFS) != 0; }
|
|
|
|
int kfs() const { return (attr1 & GATTR_KFS) != 0; }
|
|
int lok() const { return (attr1 & GATTR_LOK) != 0; }
|
|
int a_s() const { return (attr1 & GATTR_A_S) != 0; }
|
|
int zon() const { return (attr1 & GATTR_ZON) != 0; }
|
|
|
|
int hub() const { return (attr1 & GATTR_HUB) != 0; }
|
|
int xma() const { return (attr1 & GATTR_XMA) != 0; }
|
|
int cfm() const { return (attr1 & GATTR_CFM) != 0; }
|
|
int hir() const { return (attr1 & GATTR_HIR) != 0; }
|
|
|
|
int cov() const { return (attr1 & GATTR_COV) != 0; }
|
|
int sig() const { return (attr1 & GATTR_SIG) != 0; }
|
|
int let() const { return (attr1 & GATTR_LET) != 0; }
|
|
int uns() const { return (attr1 & GATTR_UNS) != 0; }
|
|
|
|
int del() const { return (attr2 & GATTR_DEL) != 0; }
|
|
int nwm() const { return (attr2 & GATTR_NWM) != 0; }
|
|
int rot() const { return (attr2 & GATTR_ROT) != 0; }
|
|
int hex() const { return (attr2 & GATTR_HEX) != 0; }
|
|
|
|
int upd() const { return (attr2 & GATTR_UPD) != 0; }
|
|
int tou() const { return (attr2 & GATTR_TOU) != 0; }
|
|
int fmu() const { return (attr2 & GATTR_FMU) != 0; }
|
|
int scn() const { return (attr2 & GATTR_SCN) != 0; }
|
|
|
|
int pos() const { return (attr2 & GATTR_POS) != 0; }
|
|
int r_o() const { return (attr2 & GATTR_R_O) != 0; }
|
|
int nok() const { return (attr2 & GATTR_NOK) != 0; }
|
|
int fax() const { return (attr2 & GATTR_FAX) != 0; }
|
|
|
|
int prn() const { return (attr2 & GATTR_PRN) != 0; }
|
|
int ano() const { return (attr2 & GATTR_ANO) != 0; }
|
|
int ume() const { return (attr2 & GATTR_UME) != 0; }
|
|
int umn() const { return (attr2 & GATTR_UMN) != 0; }
|
|
|
|
int fsc() const { return (attr2 & GATTR_FSC) != 0; }
|
|
int gsc() const { return (attr2 & GATTR_GSC) != 0; }
|
|
int rsc() const { return (attr2 & GATTR_RSC) != 0; }
|
|
int trt() const { return (attr2 & GATTR_TRT) != 0; }
|
|
|
|
int lzs() const { return (attr2 & GATTR_LZS) != 0; }
|
|
int arc() const { return (attr2 & GATTR_ARC) != 0; }
|
|
int tag() const { return (attr2 & GATTR_TAG) != 0; }
|
|
int rab() const { return (attr2 & GATTR_RAB) != 0; }
|
|
|
|
int car() const { return (attr2 & GATTR_CAR) != 0; }
|
|
int fwd() const { return (attr2 & GATTR_FWD) != 0; }
|
|
int efl() const { return (attr2 & GATTR_EFL) != 0; }
|
|
int hrp() const { return (attr2 & GATTR_HRP) != 0; }
|
|
|
|
// ----------------------------------------------------------------
|
|
|
|
void pvt(ulong x) { if(x) attr1 |= GATTR_PVT; else attr1 &= ~GATTR_PVT; }
|
|
void cra(ulong x) { if(x) attr1 |= GATTR_CRA; else attr1 &= ~GATTR_CRA; }
|
|
void rcv(ulong x) { if(x) attr1 |= GATTR_RCV; else attr1 &= ~GATTR_RCV; }
|
|
void snt(ulong x) { if(x) attr1 |= GATTR_SNT; else attr1 &= ~GATTR_SNT; }
|
|
|
|
void att(ulong x) { if(x) attr1 |= GATTR_ATT; else attr1 &= ~GATTR_ATT; }
|
|
void trs(ulong x) { if(x) attr1 |= GATTR_TRS; else attr1 &= ~GATTR_TRS; }
|
|
void orp(ulong x) { if(x) attr1 |= GATTR_ORP; else attr1 &= ~GATTR_ORP; }
|
|
void k_s(ulong x) { if(x) attr1 |= GATTR_K_S; else attr1 &= ~GATTR_K_S; }
|
|
|
|
void loc(ulong x) { if(x) attr1 |= GATTR_LOC; else attr1 &= ~GATTR_LOC; }
|
|
void hld(ulong x) { if(x) attr1 |= GATTR_HLD; else attr1 &= ~GATTR_HLD; }
|
|
void rsv(ulong x) { if(x) attr1 |= GATTR_RSV; else attr1 &= ~GATTR_RSV; }
|
|
void frq(ulong x) { if(x) attr1 |= GATTR_FRQ; else attr1 &= ~GATTR_FRQ; }
|
|
|
|
void rrq(ulong x) { if(x) attr1 |= GATTR_RRQ; else attr1 &= ~GATTR_RRQ; }
|
|
void rrc(ulong x) { if(x) attr1 |= GATTR_RRC; else attr1 &= ~GATTR_RRC; }
|
|
void arq(ulong x) { if(x) attr1 |= GATTR_ARQ; else attr1 &= ~GATTR_ARQ; }
|
|
void urq(ulong x) { if(x) attr1 |= GATTR_URQ; else attr1 &= ~GATTR_URQ; }
|
|
|
|
void grp(ulong x) { if(x) attr1 |= GATTR_GRP; else attr1 &= ~GATTR_GRP; }
|
|
void imm(ulong x) { if(x) attr1 |= GATTR_IMM; else attr1 &= ~GATTR_IMM; }
|
|
void dir(ulong x) { if(x) attr1 |= GATTR_DIR; else attr1 &= ~GATTR_DIR; }
|
|
void tfs(ulong x) { if(x) attr1 |= GATTR_TFS; else attr1 &= ~GATTR_TFS; }
|
|
|
|
void kfs(ulong x) { if(x) attr1 |= GATTR_KFS; else attr1 &= ~GATTR_KFS; }
|
|
void lok(ulong x) { if(x) attr1 |= GATTR_LOK; else attr1 &= ~GATTR_LOK; }
|
|
void a_s(ulong x) { if(x) attr1 |= GATTR_A_S; else attr1 &= ~GATTR_A_S; }
|
|
void zon(ulong x) { if(x) attr1 |= GATTR_ZON; else attr1 &= ~GATTR_ZON; }
|
|
|
|
void hub(ulong x) { if(x) attr1 |= GATTR_HUB; else attr1 &= ~GATTR_HUB; }
|
|
void xma(ulong x) { if(x) attr1 |= GATTR_XMA; else attr1 &= ~GATTR_XMA; }
|
|
void cfm(ulong x) { if(x) attr1 |= GATTR_CFM; else attr1 &= ~GATTR_CFM; }
|
|
void hir(ulong x) { if(x) attr1 |= GATTR_HIR; else attr1 &= ~GATTR_HIR; }
|
|
|
|
void cov(ulong x) { if(x) attr1 |= GATTR_COV; else attr1 &= ~GATTR_COV; }
|
|
void sig(ulong x) { if(x) attr1 |= GATTR_SIG; else attr1 &= ~GATTR_SIG; }
|
|
void let(ulong x) { if(x) attr1 |= GATTR_LET; else attr1 &= ~GATTR_LET; }
|
|
void uns(ulong x) { if(x) attr1 |= GATTR_UNS; else attr1 &= ~GATTR_UNS; }
|
|
|
|
void del(ulong x) { if(x) attr2 |= GATTR_DEL; else attr2 &= ~GATTR_DEL; }
|
|
void nwm(ulong x) { if(x) attr2 |= GATTR_NWM; else attr2 &= ~GATTR_NWM; }
|
|
void rot(ulong x) { if(x) attr2 |= GATTR_ROT; else attr2 &= ~GATTR_ROT; }
|
|
void hex(ulong x) { if(x) attr2 |= GATTR_HEX; else attr2 &= ~GATTR_HEX; }
|
|
|
|
void upd(ulong x) { if(x) attr2 |= GATTR_UPD; else attr2 &= ~GATTR_UPD; }
|
|
void tou(ulong x) { if(x) attr2 |= GATTR_TOU; else attr2 &= ~GATTR_TOU; }
|
|
void fmu(ulong x) { if(x) attr2 |= GATTR_FMU; else attr2 &= ~GATTR_FMU; }
|
|
void scn(ulong x) { if(x) attr2 |= GATTR_SCN; else attr2 &= ~GATTR_SCN; }
|
|
|
|
void pos(ulong x) { if(x) attr2 |= GATTR_POS; else attr2 &= ~GATTR_POS; }
|
|
void r_o(ulong x) { if(x) attr2 |= GATTR_R_O; else attr2 &= ~GATTR_R_O; }
|
|
void nok(ulong x) { if(x) attr2 |= GATTR_NOK; else attr2 &= ~GATTR_NOK; }
|
|
void fax(ulong x) { if(x) attr2 |= GATTR_FAX; else attr2 &= ~GATTR_FAX; }
|
|
|
|
void prn(ulong x) { if(x) attr2 |= GATTR_PRN; else attr2 &= ~GATTR_PRN; }
|
|
void ano(ulong x) { if(x) attr2 |= GATTR_ANO; else attr2 &= ~GATTR_ANO; }
|
|
void ume(ulong x) { if(x) attr2 |= GATTR_UME; else attr2 &= ~GATTR_UME; }
|
|
void umn(ulong x) { if(x) attr2 |= GATTR_UMN; else attr2 &= ~GATTR_UMN; }
|
|
|
|
void fsc(ulong x) { if(x) attr2 |= GATTR_FSC; else attr2 &= ~GATTR_FSC; }
|
|
void gsc(ulong x) { if(x) attr2 |= GATTR_GSC; else attr2 &= ~GATTR_GSC; }
|
|
void rsc(ulong x) { if(x) attr2 |= GATTR_RSC; else attr2 &= ~GATTR_RSC; }
|
|
void trt(ulong x) { if(x) attr2 |= GATTR_TRT; else attr2 &= ~GATTR_TRT; }
|
|
|
|
void lzs(ulong x) { if(x) attr2 |= GATTR_LZS; else attr2 &= ~GATTR_LZS; }
|
|
void arc(ulong x) { if(x) attr2 |= GATTR_ARC; else attr2 &= ~GATTR_ARC; }
|
|
void tag(ulong x) { if(x) attr2 |= GATTR_TAG; else attr2 &= ~GATTR_TAG; }
|
|
void rab(ulong x) { if(x) attr2 |= GATTR_RAB; else attr2 &= ~GATTR_RAB; }
|
|
|
|
void car(ulong x) { if(x) attr2 |= GATTR_CAR; else attr2 &= ~GATTR_CAR; }
|
|
void fwd(ulong x) { if(x) attr2 |= GATTR_FWD; else attr2 &= ~GATTR_FWD; }
|
|
void efl(ulong x) { if(x) attr2 |= GATTR_EFL; else attr2 &= ~GATTR_EFL; }
|
|
void hrp(ulong x) { if(x) attr2 |= GATTR_HRP; else attr2 &= ~GATTR_HRP; }
|
|
|
|
// -------------------------------------------------------------
|
|
|
|
void pvt0() { attr1 &= ~GATTR_PVT; }
|
|
void cra0() { attr1 &= ~GATTR_CRA; }
|
|
void rcv0() { attr1 &= ~GATTR_RCV; }
|
|
void snt0() { attr1 &= ~GATTR_SNT; }
|
|
|
|
void att0() { attr1 &= ~GATTR_ATT; }
|
|
void trs0() { attr1 &= ~GATTR_TRS; }
|
|
void orp0() { attr1 &= ~GATTR_ORP; }
|
|
void k_s0() { attr1 &= ~GATTR_K_S; }
|
|
|
|
void loc0() { attr1 &= ~GATTR_LOC; }
|
|
void hld0() { attr1 &= ~GATTR_HLD; }
|
|
void rsv0() { attr1 &= ~GATTR_RSV; }
|
|
void frq0() { attr1 &= ~GATTR_FRQ; }
|
|
|
|
void rrq0() { attr1 &= ~GATTR_RRQ; }
|
|
void rrc0() { attr1 &= ~GATTR_RRC; }
|
|
void arq0() { attr1 &= ~GATTR_ARQ; }
|
|
void urq0() { attr1 &= ~GATTR_URQ; }
|
|
|
|
void grp0() { attr1 &= ~GATTR_GRP; }
|
|
void imm0() { attr1 &= ~GATTR_IMM; }
|
|
void dir0() { attr1 &= ~GATTR_DIR; }
|
|
void tfs0() { attr1 &= ~GATTR_TFS; }
|
|
|
|
void kfs0() { attr1 &= ~GATTR_KFS; }
|
|
void lok0() { attr1 &= ~GATTR_LOK; }
|
|
void a_s0() { attr1 &= ~GATTR_A_S; }
|
|
void zon0() { attr1 &= ~GATTR_ZON; }
|
|
|
|
void hub0() { attr1 &= ~GATTR_HUB; }
|
|
void xma0() { attr1 &= ~GATTR_XMA; }
|
|
void cfm0() { attr1 &= ~GATTR_CFM; }
|
|
void hir0() { attr1 &= ~GATTR_HIR; }
|
|
|
|
void cov0() { attr1 &= ~GATTR_COV; }
|
|
void sig0() { attr1 &= ~GATTR_SIG; }
|
|
void let0() { attr1 &= ~GATTR_LET; }
|
|
void uns0() { attr1 &= ~GATTR_UNS; }
|
|
|
|
void del0() { attr2 &= ~GATTR_DEL; }
|
|
void nwm0() { attr2 &= ~GATTR_NWM; }
|
|
void rot0() { attr2 &= ~GATTR_ROT; }
|
|
void hex0() { attr2 &= ~GATTR_HEX; }
|
|
|
|
void upd0() { attr2 &= ~GATTR_UPD; }
|
|
void tou0() { attr2 &= ~GATTR_TOU; }
|
|
void fmu0() { attr2 &= ~GATTR_FMU; }
|
|
void scn0() { attr2 &= ~GATTR_SCN; }
|
|
|
|
void pos0() { attr2 &= ~GATTR_POS; }
|
|
void r_o0() { attr2 &= ~GATTR_R_O; }
|
|
void nok0() { attr2 &= ~GATTR_NOK; }
|
|
void fax0() { attr2 &= ~GATTR_FAX; }
|
|
|
|
void prn0() { attr2 &= ~GATTR_PRN; }
|
|
|
|
// ----------------------------------------------------------------
|
|
|
|
void pvt1() { attr1 |= GATTR_PVT; }
|
|
void cra1() { attr1 |= GATTR_CRA; }
|
|
void rcv1() { attr1 |= GATTR_RCV; }
|
|
void snt1() { attr1 |= GATTR_SNT; }
|
|
|
|
void att1() { attr1 |= GATTR_ATT; }
|
|
void trs1() { attr1 |= GATTR_TRS; }
|
|
void orp1() { attr1 |= GATTR_ORP; }
|
|
void k_s1() { attr1 |= GATTR_K_S; }
|
|
|
|
void loc1() { attr1 |= GATTR_LOC; }
|
|
void hld1() { attr1 |= GATTR_HLD; }
|
|
void rsv1() { attr1 |= GATTR_RSV; }
|
|
void frq1() { attr1 |= GATTR_FRQ; }
|
|
|
|
void rrq1() { attr1 |= GATTR_RRQ; }
|
|
void rrc1() { attr1 |= GATTR_RRC; }
|
|
void arq1() { attr1 |= GATTR_ARQ; }
|
|
void urq1() { attr1 |= GATTR_URQ; }
|
|
|
|
void grp1_() { attr1 |= GATTR_GRP; }
|
|
void imm1() { attr1 |= GATTR_IMM; }
|
|
void dir1() { attr1 |= GATTR_DIR; }
|
|
void tfs1() { attr1 |= GATTR_TFS; }
|
|
|
|
void kfs1() { attr1 |= GATTR_KFS; }
|
|
void lok1() { attr1 |= GATTR_LOK; }
|
|
void a_s1() { attr1 |= GATTR_A_S; }
|
|
void zon1() { attr1 |= GATTR_ZON; }
|
|
|
|
void hub1() { attr1 |= GATTR_HUB; }
|
|
void xma1() { attr1 |= GATTR_XMA; }
|
|
void cfm1() { attr1 |= GATTR_CFM; }
|
|
void hir1() { attr1 |= GATTR_HIR; }
|
|
|
|
void cov1() { attr1 |= GATTR_COV; }
|
|
void sig1() { attr1 |= GATTR_SIG; }
|
|
void let1() { attr1 |= GATTR_LET; }
|
|
void uns1() { attr1 |= GATTR_UNS; }
|
|
|
|
void del1() { attr2 |= GATTR_DEL; }
|
|
void nwm1() { attr2 |= GATTR_NWM; }
|
|
void rot1() { attr2 |= GATTR_ROT; }
|
|
void hex1() { attr2 |= GATTR_HEX; }
|
|
|
|
void upd1() { attr2 |= GATTR_UPD; }
|
|
void tou1() { attr2 |= GATTR_TOU; }
|
|
void fmu1() { attr2 |= GATTR_FMU; }
|
|
void scn1() { attr2 |= GATTR_SCN; }
|
|
|
|
void pos1() { attr2 |= GATTR_POS; }
|
|
void r_o1() { attr2 |= GATTR_R_O; }
|
|
void nok1() { attr2 |= GATTR_NOK; }
|
|
void fax1() { attr2 |= GATTR_FAX; }
|
|
|
|
void prn1() { attr2 |= GATTR_PRN; }
|
|
|
|
// ----------------------------------------------------------------
|
|
|
|
void pvtX() { attr1 ^= GATTR_PVT; }
|
|
void craX() { attr1 ^= GATTR_CRA; }
|
|
void rcvX() { attr1 ^= GATTR_RCV; }
|
|
void sntX() { attr1 ^= GATTR_SNT; }
|
|
|
|
void attX() { attr1 ^= GATTR_ATT; }
|
|
void trsX() { attr1 ^= GATTR_TRS; }
|
|
void orpX() { attr1 ^= GATTR_ORP; }
|
|
void k_sX() { attr1 ^= GATTR_K_S; }
|
|
|
|
void locX() { attr1 ^= GATTR_LOC; }
|
|
void hldX() { attr1 ^= GATTR_HLD; }
|
|
void rsvX() { attr1 ^= GATTR_RSV; }
|
|
void frqX() { attr1 ^= GATTR_FRQ; }
|
|
|
|
void rrqX() { attr1 ^= GATTR_RRQ; }
|
|
void rrcX() { attr1 ^= GATTR_RRC; }
|
|
void arqX() { attr1 ^= GATTR_ARQ; }
|
|
void urqX() { attr1 ^= GATTR_URQ; }
|
|
|
|
void grpX() { attr1 ^= GATTR_GRP; }
|
|
void immX() { attr1 ^= GATTR_IMM; }
|
|
void dirX() { attr1 ^= GATTR_DIR; }
|
|
void tfsX() { attr1 ^= GATTR_TFS; }
|
|
|
|
void kfsX() { attr1 ^= GATTR_KFS; }
|
|
void lokX() { attr1 ^= GATTR_LOK; }
|
|
void a_sX() { attr1 ^= GATTR_A_S; }
|
|
void zonX() { attr1 ^= GATTR_ZON; }
|
|
|
|
void hubX() { attr1 ^= GATTR_HUB; }
|
|
void xmaX() { attr1 ^= GATTR_XMA; }
|
|
void cfmX() { attr1 ^= GATTR_CFM; }
|
|
void hirX() { attr1 ^= GATTR_HIR; }
|
|
|
|
void covX() { attr1 ^= GATTR_COV; }
|
|
void sigX() { attr1 ^= GATTR_SIG; }
|
|
void letX() { attr1 ^= GATTR_LET; }
|
|
void unsX() { attr1 ^= GATTR_UNS; }
|
|
|
|
void delX() { attr2 ^= GATTR_DEL; }
|
|
void nwmX() { attr2 ^= GATTR_NWM; }
|
|
void rotX() { attr2 ^= GATTR_ROT; }
|
|
void hexX() { attr2 ^= GATTR_HEX; }
|
|
|
|
void updX() { attr2 ^= GATTR_UPD; }
|
|
void touX() { attr2 ^= GATTR_TOU; }
|
|
void fmuX() { attr2 ^= GATTR_FMU; }
|
|
void scnX() { attr2 ^= GATTR_SCN; }
|
|
|
|
void posX() { attr2 ^= GATTR_POS; }
|
|
void r_oX() { attr2 ^= GATTR_R_O; }
|
|
void nokX() { attr2 ^= GATTR_NOK; }
|
|
void faxX() { attr2 ^= GATTR_FAX; }
|
|
|
|
void prnX() { attr2 ^= GATTR_PRN; }
|
|
|
|
};
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
typedef ftn_attr Attr;
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
inline void AttrAdd(Attr* a, Attr* b) { a->add(*b); }
|
|
inline void GetAttribstr(Attr* attr, const char* attrs) { attr->get(attrs); }
|
|
inline char* MakeAttrStr(char* str, size_t maxlen, const Attr* attr) { string tmp; attr->make_string(tmp); strxcpy(str, tmp.c_str(), maxlen); return str; }
|
|
|
|
|
|
// ------------------------------------------------------------------
|
|
|
|
#endif
|
|
|
|
// ------------------------------------------------------------------
|