1263 lines
45 KiB
Plaintext
1263 lines
45 KiB
Plaintext
SU.FIDOTECH FAQ (—€‚Ž)
|
||
|
||
‡¤p ¢áâ¢y©â¥, y¢ ¦ ¥¬ë© ¯®¤¯¨á稪 SU.FIDOTECH!
|
||
�¥p¥¤ ¢ ¬¨ - ᯨ᮪ ¨¡®«¥¥ ç áâ® § ¤ ¢ ¥¬ëå ¢®¯p®á®¢ ¨ ®â¢¥â®¢ ¨å
|
||
(—€‚Ž) ® â¥å®«®£¨¨ Fidonet.
|
||
*�®¦ «y©áâ *, ¯®áâ p ©â¥áì ¯p®ç¥áâì ‚…‘œ —€‚Ž ¯¥p¥¤ ⥬, ª ª § ¤ ¢ âì
|
||
¢®¯p®áë ¢ ª®ä¥p¥æ¨¨, ®á®¡¥®, ¥á«¨ ‚ë ¯®¤®§p¥¢ ¥â¥, çâ® ‚ è ¢®¯p®á -
|
||
®¤¨ ¨§ p¥£y«ïp® § ¤ ¢ ¥¬ëå. ‘¯ ᨡ®!
|
||
|
||
…᫨ y ¢ á ¥áâì ¦¥« ¨¥ ¯®¯®«¨âì —€‚Ž ¢®¯p®á ¬¨ ¨/¨«¨ ®¢ë¬¨ ®â¢¥â ¬¨ -
|
||
¯®¦ «y©áâ , ¯p¨áë« ©â¥ netmail'®¬ ¢®¯p®á ¨ ¢ è ¢ p¨ ⠮⢥⠥£®
|
||
¢¥¤y饬y. ‚¥¤y騩 ®áâ ¢«ï¥â § ᮡ®© ¯p ¢® p¥¤ ªâ¨p®¢ âì ¨ ¯®¤¯p ¢«ïâì
|
||
¯p¨á« ë¥ ¢®¯p®áë ¨ ®â¢¥âë, ¥ ᮣ« á®¢ë¢ ï ¨§¬¥¥¨ï á ¢â®p ¬¨.
|
||
|
||
‚¥¤y騩 —€‚Ž - Boris Ivanov, 2:5020/496.90, hexer@aha.ru
|
||
�p¥¤ë¤y騩 ¢¥¤y騩 —€‚Ž - Timur Tsyganko, 2:5020/446.
|
||
|
||
‚¥pá¨ï —€‚Ž: 20 ®â 17.04.1998
|
||
|
||
�¥p¥ç¥ì ¢®¯p®á®¢:
|
||
1. Q: ƒ¤¥ ¬®¦® ©â¨ ¯®á«¥¤îî ¢¥pá¨î í⮣® FAQ?
|
||
2. Q: —â® § ç â ¡yª¢ë ¢ ᪮¡ª å ¢ ç «¥ ®â¢¥â ?
|
||
3. Q: ƒ¤¥ ®¯¨á ë áâ ¤ pâë fidonet?
|
||
4. Q: —â® â ª®¥ ª«y¤¦?
|
||
5. Q: ‚ ¤¢®¨çëå ¯®«ïå netmail'®¢ëå á®®¡é¥¨© ¨ § £®«®¢ª®¢ ¯ ª¥â®¢
|
||
á®®¡é¥¨© £¤¥ ¤®«¦ë 室¨âáï ®¬¥p §® ¨ ¯®©â®¢ áâ®ïâ áâp ë¥
|
||
ç¨á« . —â® íâ® § ç¨á« ?
|
||
6. Q: ƒ¤¥ ¢§ïâì ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¯®«yç â¥«ï ¢ á®®¡é¥¨¨ netmail?
|
||
7. Q: ƒ¤¥ ¢§ïâì ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¯®«yç â¥«ï ¯ ª¥â®¢ á®®¡é¥¨©?
|
||
8. Q: ‚ ¤¢®¨ç®¬ § £®«®¢ª¥ íå®-¯¨áì¬ ¬¥á⥠¤p¥á ®â¯p ¢¨â¥«ï á⮨â
|
||
¤p¥á á¨á⥬ë, ®â ª®â®p®© ¯p¨è¥« ¯ ª¥â á í⨬ ¯¨á쬮¬, ¬¥áâ¥
|
||
¤p¥á ¯®«yç ⥫ï - ¬®© ᮡáâ¢¥ë© ¤p¥á. �®ç¥¬y?
|
||
9. Q: ’ ª £¤¥ ¦¥ ¢§ïâì ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¯®«yç â¥«ï ¢ á®®¡é¥¨¨
|
||
echomail?
|
||
10. Q: ‚ FTS-0009 ᪠§ ® çâ® ¢ MSGID ¤®«¦¥ 室¨âáï "valid return
|
||
address", ¯p ªâ¨ª¥ ¢ MSGID ¬®¦® ¢¨¤¥âì ¨â¥p¥â®¢áª¨¥ ¤p¥á . Š ª
|
||
¡ëâì?
|
||
11. Q: �®ç¥¬y ¯ p £p äë ¢ á®®¡é¥¨¨ ¨®£¤ § ª 稢 îâáï ª®¤®¬ 0Dh, ¥
|
||
ª®¬¡¨ 樥© 0Dh 0Ah?
|
||
12. Q: Š ª®¢ ¬ ªá¨¬ «ì ï ¤«¨ á®®¡é¥¨©?
|
||
13. Q: —â® â ª®¥ §®¥£¥©â ¨ ª ª yª §ë¢ ¥âáï ¥£® ¨á¯®«ì§®¢ ¨¥ ¢ á®®¡é¥¨¨?
|
||
14. Q: �® ª ª®¬y ¯p¨æ¨¯y £¥¥p¨py¥âáï y¨ª «ìë© ®¬¥p á®®¡é¥¨ï ¢ MSGID?
|
||
15. Q: Š ª®¢ p®y⨣ ¯® y¬®«ç ¨î ¥§ ¢¨á¨¬ë¥ y§«ë ¢ p¥£¨®¥/§®¥?
|
||
16. Q: Š ª®© á¬ëá« ââp¨¡yâ ARQ?
|
||
17. Q: —¥¬ ®â«¨ç îâáï ââp¨¡yâë RRQ ¨ CFM?
|
||
18. Q: Š ª®¢ á¬ëá« ¨ ª ª á®®â®áïâáï ââp¨¡yâë Crash, Immediate, FPU,
|
||
Direct, Hold?
|
||
19. Q: Š ª p¥ «¨§®¢ ë ¤®¬¥ë ¢ fidonet?
|
||
20. Q: ‘ ª ª¨¬ § ª®¬ y¦® yª §ë¢ âì ᬥ饨¥ ®â ƒp¨¢¨ç ¢ ¯¥p¥¬¥®©
|
||
®ªpy¦¥¨ï TZ?
|
||
21. Q: ƒ¤¥ ®¯¨á ë ä®p¬ âë ä ©«®¢ *.PKT, *.MSG, Hudson/Squish/JAM message
|
||
base ¨ â.¤.?
|
||
22. Q: Š ª¨¥ ¥é¥ áyé¥áâ¢yîâ ª®ä¥p¥æ¨¨ ¤«ï ®¡áy¦¤¥¨ï â¥å®«®£¨© Fidonet?
|
||
23. Q: “ 䨤®èëå ¯p®¤yªâ®¢ ¥áâì ª®¤ (Product ID). Šâ® ¥£® ¢ë¤ ¥â ¨ ª ª íâ®
|
||
¤¥« ¥âáï?
|
||
24. Q: �®á®¢¥ây©â¥ å®p®èyî å¥è-äyªæ¨î ¤«ï ¯®«®© áâp®ª¨ ¨§ MSGID.
|
||
25. Q: € ª ª Fossil ¬®¦¥â «®ç¨âì ¯®pâ 57600 ¨«¨ 115200, ª®£¤ ¢
|
||
áâ ¤ p⥠®¯p¥¤¥«¥® ⮫쪮 38400 ª ª ¬ ªá¨¬y¬?
|
||
26. Q: Š ª ®p£ ¨§®¢ outbound y BinkleyStyle-¬í©«¥p®¢?
|
||
27. Q: —¥¬ ®â«¨ç ¥âáï ZModem ®â DirZap ®â ZedZap?
|
||
28. Q: Š ª ª®pp¥ªâ® y¤ «¨âì ¯¨á쬮 ¢ JAM-¡ §¥?
|
||
29. Q: ƒ¤¥ ®¯¨á ë ä®p¬ âë TIC-ä ©«®¢?
|
||
30. Q: Hy¦¥ ª®¤ ¤«ï ¯p¥®¡p §®¢ ¨ï ¤ âë ¨ ¢p¥¬¥¨ ¢/¨§ unix-ä®p¬ â ?
|
||
|
||
/---------------------------------------------------------------------/
|
||
|
||
>[1] Q: ƒ¤¥ ¬®¦® ©â¨ ¯®á«¥¤îî ¢¥pá¨î í⮣® FAQ?
|
||
|
||
A: (BI)
|
||
|
||
‚ ”ˆ„Ž - FAQ p § ¢ ¤¢¥ ¥¤¥«¨ ¯® ç¥â¢¥p£ ¬ ¯®¬¥é ¥âáï ¢ ª®ä¥p¥æ¨î
|
||
SU.FIDOTECH. ‚ ˆâ¥p¥â¥ - http://www.aha.ru/~hexer/fido.htm.
|
||
|
||
/------/
|
||
|
||
>[2] Q: —â® § ç â ¡yª¢ë ¢ ᪮¡ª å ¢ ç «¥ ®â¢¥â ?
|
||
|
||
A: (TT, BI)
|
||
|
||
�⮠᮪p é¥¨ï ®â ¨¬¥ «î¤¥©, ¯¨á ¢è¨å ®â¢¥âë:
|
||
AS - Alex Semenyaka, 2:461/64
|
||
DM - Dima Maloff, 2:5047/13
|
||
DP - Dmitry Provodnikov, 2:5000/47.7
|
||
DtZ - Dmitry the Zuryanovich, 2:5020/730
|
||
JF - Jury Fradkin, 2:5030/339
|
||
JG - John Gladkih, 2:5051/16
|
||
PG - Pavel Gulchouck, 2:463/68
|
||
PK - Pete Kvitek, 2:5020/6
|
||
st - serge terekhov, 2:5000/13
|
||
TT - Timur Tsyganko, 2:5020/446, ¡ë¢è¨© 2:461/10
|
||
BI - Boris Ivanov, 2:5020/496.90
|
||
|
||
/------/
|
||
|
||
>[3] Q: ƒ¤¥ ®¯¨á ë áâ ¤ pâë fidonet?
|
||
|
||
A: a) (TT)
|
||
|
||
H ¬®£¨å y§« å fidonet ¨¬¥îâáï ä ©«ë á ¨¬¥ ¬¨ FTS-xxxx.* ¨ FSC-xxxx.*.
|
||
�¥p¢ë¥ - ᮡá⢥® áâ ¤ pâë, ¢â®pë¥ - ¯p¥¤«®¦¥¨ï ¯® áâ ¤ pâ ¬.
|
||
‘yé¥áâ¢y¥â 7 áâ ¤ p⮢:
|
||
|
||
FTS-0001 A basic FidoNet(r) technical standard, R Bush
|
||
FTS-0004 Echomail specification, B Hartman
|
||
FTS-0005 The distribution nodelist, B Baker, R Moore
|
||
FTS-0006 YOOHOO and YOOHOO/2U2, V Perriello
|
||
FTS-0007 SEAlink protocol extension, P Becker
|
||
FTS-0008 Bark file-request protocol extension, P Becker
|
||
FTS-0009 Message identification and reply linkage, j nutt
|
||
|
||
¨ ®ª®«® 80⨠¯p¥¤«®¦¥¨©. ‚®â ¥ª®â®pë¥ ¨§ ¨å:
|
||
|
||
FSC-0004 Zones and Zonegates explained primitively, R Bush
|
||
FSC-0015 FOSSIL 5.0 Documentation, R Moore
|
||
FSC-0020 Alternate Nodelist Flag Proposal M Presnell
|
||
FSC-0031 Proposed message id/linkage standard, M Ratledge
|
||
FSC-0034 Gateways to and from FidoNet, R Bush
|
||
FSC-0035 Transparent gateways to/from FidoNet, M Shiels
|
||
FSC-0038 Proposed domain gating protocol, j nutt
|
||
FSC-0039 A type-2 packet extension proposal, M Howard
|
||
FSC-0043 Some hints on recognizing control lines in FidoNet(r) message
|
||
text, R Bush
|
||
FSC-0044 Improved duplicate detection, J Decker
|
||
FSC-0045 Proposed new packet header, T Henderson
|
||
FSC-0046 Proposed product identifier, J Homrighausen
|
||
FSC-0047 The ^ASPLIT kludge line, P Terry
|
||
FSC-0048 Proposed type-2 packet extension, J Vroonhof
|
||
FSC-0052 A proposal for making the PATH zone aware, G van der Land
|
||
FSC-0053 Specifications for the ^aFLAGS field, J Homrighausen
|
||
FSC-0054 The CHARSET proposal, D McNutt
|
||
FSC-0056 EMSI/IEMSI Protocol Definition, J Homrighausen
|
||
FSC-0060 Calculation and Usage of CRC's, F van der Loos
|
||
FSC-0062 Nodelist Flag Indicating Online Times, D Thomas
|
||
FSC-0072 The HYDRA file transfer protocol, J Homrighausen, A Lentz
|
||
FSC-0087 File forwarding in FidoNet technology networks, R.Williamson
|
||
FSC-0090 FTSC Product Codes and Application Form
|
||
|
||
Ž¡ëç® p冷¬ ¬®¦® ©â¨ ä ©«ë FTSCLIST - ¯®«ë© ᯨ᮪ FTS ¨ FSC, ¨
|
||
FTSCPROD - ᯨ᮪ ¨¤¥â¨ä¨ª â®p®¢ ¯p®£p ¬¬ëå ¯p®¤yªâ®¢ ¤«ï fidonet.
|
||
|
||
�p¨ ¨á¯®«ì§®¢ ¨¨ FTS ¨ FSC y¡¥¤¨â¥áì, çâ® ¢ë p ᯮ« £ ¥â¥ "ᢥ¦¨¬¨"
|
||
¢¥pá¨ï¬¨. �®á«¥¤¨¥ ¢ p¨ âë ¤®áây¯ë ftp.fidonet.org ¨ ftp.funet.fi.
|
||
…᫨ ¢ á ¨â¥p¥áy¥â ®¡áy¦¤¥¨¥ ¯®á«¥¤¨å FSC - ¯®áâ p ©â¥áì ©â¨ ¨
|
||
¯®¤¯¨á âìáï ª®ä¥p¥æ¨¨ NET_DEV ¨ FTSC.
|
||
|
||
A: b) (PG)
|
||
|
||
�¥p¢®¨áâ®ç¨ª - ftp://ftp.blaze.net.au/pub/ftsc/ - íâ® á ©â Hy£¥â (¨«¨ ª ª
|
||
® ¯®-pyá᪨ ¯¨è¥âáï?).
|
||
|
||
/------/
|
||
|
||
>[4] Q: —â® â ª®¥ ª«y¤¦?
|
||
|
||
A: a) (TT)
|
||
|
||
�â® áâp®ª ¢ ⥫¥ á®®¡é¥¨ï, ᮤ¥p¦ é ï â¥å¨ç¥áªyî ¨ä®p¬ æ¨î. —⮡ë
|
||
®â«¨ç¨âì áâp®ª¨ ª«y¤¦¥© (kludge) ®â ᮡá⢥® ⥪áâ ®¨ ç¨ îâáï á
|
||
ᨬ¢®« 01h, § ¨áª«î票¥¬ áâp®ª "AREA:" ¨ "SEEN-BY:"; ¯®¤p®¡®á⨠¨é¨â¥ ¢
|
||
FTS-0004 ¨ FSC-0043. ޡ饝p¨ïâ®, çâ® ¢ á«yç ¥ p á宦¤¥¨ï ¨ä®p¬ 樨 ¨§
|
||
ª«y¤¦¥© ¨ ¨§ ¤¢®¨ç®£® § £®«®¢ª á®®¡é¥¨ï, ¯p¨®p¨â¥â ¨¬¥îâ ª«y¤¦¨.
|
||
|
||
A: b) (PK)
|
||
|
||
…áâì ᮬ¥¨ï áç¥â ª«y¤¦ AREA: -- ª®£¤ ® ¢ ¯ ª¥â¥, ® â®ç® ¥ ¨¬¥¥â
|
||
01h ¨ ¨¤¥â ¯¥p¢ë¬. € ¢®â ª®£¤ ® ¢ BADMSG, ® ¥£® ¨¬¥¥â. Šp®¬¥ ⮣®,
|
||
¬®£¨¥ âp¥¡yîâ, çâ®¡ë ® ¢ «î¡®¬ á«yç ¥ ¡ë« á ¬ë¬ ¯¥p¢ë¬ ª«y¤¦¥¬, ®á®¡¥®
|
||
¢ ¯ ª¥â¥.
|
||
|
||
A: c) (AS)
|
||
|
||
�p¨ åp ¥¨¨ í宯®çâë ¢ ¡ §¥, ª«y¤¦ "AREA:" ®¡ëç® y¤ «ï¥âáï, â ª ª ª
|
||
p¥ â £ ®¤®§ ç® (¢§ ¨¬®®¤®§ ç®) ®¯p¥¤¥«ï¥âáï ¨¬¥¥¬ ª â «®£ (¤«ï
|
||
ä®p¬ â *.MSG), ¨¬¥ ¬¨ ä ©«®¢ (JAM, Squich) ¨«¨ ®¬¥p®¬ ®¡« á⨠(Hudson).
|
||
Š«y¤¦ "AREA:" ®¡ëç® á®åp ï¥âáï ¢ ®¡« áâïå dupe- ¨ bad-á®®¡é¥¨© ¨ ¢
|
||
®¡« áâïå carbon copy - â.¥. ¢ â¥å ¬¥áâ å, £¤¥ ¬®£yâ 室¨âáï á®®¡é¥¨ï ¨§
|
||
p §ëå ª®ä¥p¥æ¨©.
|
||
|
||
/------/
|
||
|
||
>[5] Q: ‚ ¤¢®¨çëå ¯®«ïå netmail'®¢ëå á®®¡é¥¨© ¨ § £®«®¢ª®¢ ¯ ª¥â®¢
|
||
>á®®¡é¥¨© £¤¥ ¤®«¦ë 室¨âáï ®¬¥p §® ¨ ¯®©â®¢ áâ®ïâ áâp ë¥ ç¨á« .
|
||
>—â® íâ® § ç¨á« ?
|
||
|
||
A: a) (TT)
|
||
|
||
“¢ë, áâ ¤ pâ FTS-0001 ¢ ¥£® ¯®á«¥¤¨å p¥¤ ªæ¨ïå (015 ¨ 016) ¨ ¯® ᥩ ¤¥ì
|
||
ä ªâ¨ç¥áª¨ ¥ ¢áây¯¨« ¢ ¤¥©á⢨¥. ‚ p¥¤ ªæ¨¨ 012 FTS-0001 í⨠¯®«ï
|
||
¨á¯®«ì§®¢ «¨áì ¤«ï åp ¥¨ï ¢p¥¬¥¨ ¯¨á ¨ï ¨ ¢p¥¬¥¨ ¯p¨¡ëâ¨ï á®®¡é¥¨ï
|
||
¢ ä®p¬ ⥠MS DOS directory entry. „® á¨å ¯®p ¢á¥ ¯p®£p ¬¬®¥ ®¡¥á¯¥ç¥¨¥
|
||
fidonet ¡¥p¥â ®¬¥p §®/¯®©â®¢ ¨§ ¤py£¨å ¨áâ®ç¨ª®¢ (á¬.¤ «¥¥). H¥ª®â®pë¥
|
||
¯p®£p ¬¬ë¥ ¯p®¤yªâë ¬®£yâ ¡ëâì ª®ä¨£yp¨py¥¬ë - á®§¤ ¢ âì á®®¡é¥¨ï ¢
|
||
áâ ¤ p⥠FTS-0001 (íâ áâp®©ª ¬®¦¥â §ë¢ âìáï ¢ ¤yå¥ "Fido
|
||
compatibility" ¨«¨ "FTS-0001 compatibility") ¨«¨ ¢ áâ p®¬ ä®p¬ ⥠(íâ
|
||
áâp®©ª ¬®¦¥â §ë¢ âìáï ¢ ¤yå¥ "Opus compatibility").
|
||
|
||
A: b) (AS)
|
||
|
||
�¥ «ì® á®äâ (GoldEd, FD/FM, ¨ FastEcho ¯® ªp ©¥© ¬¥p¥) åp ¨â â ¬ ¤ ây ¢
|
||
ä®p¬ ⥠file entry, â® ¥áâì â ª ¦¥, ª ª ® åp ¨âáï ¢ ®£« ¢«¥¨¨
|
||
¤¨p¥ªâ®p¨¨. H ¢á直© á«yç ©, ¢®â íâ®â ä®p¬ â, ¯®¡¨â®¢ ï p ᪫ ¤ª :
|
||
|
||
31 23 16
|
||
ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄ¿
|
||
³ Y E A R - 8 0 ³ M O N T H ³ D A Y ³
|
||
ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ
|
||
|
||
15 7 0
|
||
ÚÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄÂÄÄÄ¿
|
||
³ H O U R ³ M I N U T E ³ S E C O N D S / 2 ³
|
||
ÀÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÁÄÄÄÙ
|
||
|
||
�p¨ í⮬ á ç « åp ¨âáï áâ p襥 á«®¢®, ¯®â®¬ ¬« ¤è¥¥ (¡ ©âë - ®¡®p®â, ¢
|
||
áâ ¤ p⮬ ¤«ï PC ¯®p浪¥: á ç « ¬« ¤è¨©, ¯®â®¬ áâ p訩).
|
||
|
||
�p¨¬¥p: ªy᮪ ¤ ¬¯
|
||
|
||
0000b0 | 73 21 7d 9e
|
||
|
||
ᮮ⢥âáâ¢y¥â file entry date 21739e7d,
|
||
0010 0001 0111 0011 1001 1110 0111 1101, â® ¥áâì:
|
||
|
||
£®¤: 0010000 = 16, 16+80=96
|
||
¬¥áïæ: 1101 = 11, H®ï¡pì
|
||
¤¥ì: 10011 = 19
|
||
ç á: 10011 = 19
|
||
¬¨yâ : 1100011 = 51
|
||
ᥪy¤ :11101 = 29, 1+29*2=59
|
||
|
||
ˆâ®£®, á®®¡é¥¨¥ ¯¨á ® 19 ®ï¡pï 1996, ¢ 19:51:59.
|
||
|
||
„«ï ¢p¥¬¥¨ § ¯ ª®¢ª¨ ¢ pkt (¯ ª¥p®¬ ¨«¨ ¬¥©«¥p®¬) - ¢á¥ ¯®«®áâìî
|
||
«®£¨ç®. Hy, ¨ ¥¡®«ì讥 § ¬¥ç ¨¥ - ¤«ï ¥®â¯p ¢«¥ëå ¯¨á¥¬ íâ¨
|
||
¢p¥¬¥ ᮢ¯ ¤ îâ, ¯®â®¬, ¯p¨ ¯ ª®¢ª¥/®â¯p ¢ª¥, ¯®á«¥¤¥¥ ¯®«¥ ¬¥ï¥âáï.
|
||
|
||
|
||
>[6] Q: ƒ¤¥ ¢§ïâì ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¯®«yç â¥«ï ¢ á®®¡é¥¨¨ netmail?
|
||
|
||
A: a) (TT)
|
||
|
||
…᫨ ¥áâì ª«y¤¦ DOMAIN - â® ¨§ ¥£®. …᫨ ¥£® ¥â - ¨é¨â¥ ª«y¤¦¨ INTL,
|
||
FMPT, TOPT. …᫨ ®¬¥p á¥â¥© ¨ y§«®¢ ¢á¥ ¥é¥ ¥ ®¯p¥¤¥«¥ë - ¢®§ì¬¨â¥ ¨å
|
||
¨§ ¤¢®¨ç®£® § £®«®¢ª á®®¡é¥¨ï. …᫨ §® ®â¯p ¢¨â¥«ï ¥é¥ ¥ ®¯p¥¤¥«¥ ,
|
||
â® ¢ë ¢áây¯ ¥â¥ ¢ ®¡« áâì ¥¤®á⮢¥pëå ¨áâ®ç¨ª®¢ ¨ä®p¬ 樨, ª ª®â®pë¬
|
||
®â®á¨âáï:
|
||
- ®¬¥p §®ë ¨§ ¤p¥á ¢ MSGID, ¥á«¨ â ¬ ª®¥ç® ¢®®¡é¥ FTN- ¤p¥á
|
||
(á¬.¨¦¥). ˆ ¤ ¦¥ ¥á«¨ â ª, â® MSGID ¬®¦¥â ᮤ¥p¦ âì ¢®¢á¥ ¥ ¤p¥á
|
||
¯®p®¤¨¢è¥© á¨á⥬ë (originating node) ¨ ¢®¢á¥ ¥ ¤p¥á, ª®â®pë©
|
||
¢â®p å®â¥« ¡ë ¯®«yç¨â ®â¢¥â;
|
||
- ®¬¥p §®ë ¨§ ¤¢®¨ç®£® § £®«®¢ª (¯®ç¥¬y â ¬ ¬®¦¥â ¡ëâì ¢®¢á¥ ¥
|
||
®¬¥p §®ë ç¨â ©â¥ ¢ëè¥);
|
||
- ®¬¥p §®ë £« ¢®£®/®á®¢®£®/¯¥p¢®£® ¤p¥á ¢ 襩 á¨á⥬ë;
|
||
- ®¬¥p §®ë ¨§ ¯¥p¢®£® ª«y¤¦ Via. “çâ¨â¥, çâ® ¥ ä ªâ, çâ® íâ áâp®ª
|
||
¡y¤¥â ¯p®áâ ¢«¥ ¨¬¥® ¯®p®¤¨¢è¥© á¨á⥬¥ ¨ ¥ ä ªâ, çâ® â ¬
|
||
¡y¤¥â áâ®ïâì ¤p¥á ¨¬¥® ¢ ⮩ §®¥, ¯® ª®â®p®© ¤®«¦®
|
||
p á¯p®áâp ïâìáï ¯¨á쬮.
|
||
…é¥ ®¬¥p §®ë ¬®¦® ¯®«yç¨âì ¯p®¢¥p¨¢ «¨ç¨¥ ¢® ¢á¥å ¤®áây¯ëå §® å
|
||
ᮮ⢥âáâ¢yîé¨å ®¬¥p®¢ á¥â¥©. H ¯p¨¬¥p, ¢ 1© §®¥ ¥â á¥â¨ 5020, ¢® 2©
|
||
§®¥ â ª ï á¥âì ¥áâì :-) € ¬®¦® ¯p®¢¥p¨âì ¨¬¥ á¨á®¯®¢ :-)
|
||
|
||
…᫨ ®¬¥p §®ë ¯®«yç â¥«ï ¥ ¡ë« ®¯p¥¤¥«¥, â® ® p ¢¥ ®¬¥py §®ë
|
||
®â¯p ¢¨â¥«ï.
|
||
|
||
A: b) (st)
|
||
|
||
âyâ ¤®«£® ®¡áy¦¤ «®áì ¢ëâ ᪨¢ ¨¥ ¤p¥á®¢ - ª ª íâ® ¯®ª®pp¥ªâ¥¥ ¡ë«® ¡ë,
|
||
y ï ¨ ¯¨á « ¢ ¯á¥¢¤®ª®¤¥. ¯®¤¯p ¢ìâ¥, ¤®¡ ¢ìâ¥, ¯®å¢ «¨â¥, ¢ FAQ
|
||
¢áâ ¢ì⥠- ¯«¨§... y ï - ¥á«¨ çâ® - ¯®¤¯p ¢«î, ¨ ¥é¥ p § ®¯y¡«¨ªyî.
|
||
¤y¬ î - ¬®£¨¬ ¨â¥p¥á ¡y¤¥â â ª ï ä®p¬ «ì ï ä®p¬y«¨p®¢ª í⮣® ¬®¬¥â .
|
||
|
||
// Decode FTN netmail message from/to addresses in pseudo-C
|
||
// Version 1.0, by serge terekhov, 2:5000/13@fidonet
|
||
|
||
// ================
|
||
// reading .pkt or .msg
|
||
|
||
// we have:
|
||
// pkt.from + pkt.to (OPTIONAL - when unpacking .pkt)
|
||
// msg.from.node/net + msg.to.node/net (REQUIRED)
|
||
// kludges: intl/fmpt/topt/msgid (OPTIONAL)
|
||
// return:
|
||
// from
|
||
// to
|
||
// real_to (only if zonegating)
|
||
// zonegate (YES/NO)
|
||
|
||
from.zone = -1
|
||
from.net = msg.from.net
|
||
from.node = msg.from.node
|
||
if (FMPT)
|
||
from.point = fmpt
|
||
else
|
||
from.point = 0
|
||
|
||
to.zone = -1
|
||
to.net = msg.to.net
|
||
to.node = msg.to.node
|
||
if (TOPT)
|
||
to.point = topt
|
||
else
|
||
to.point = 0
|
||
|
||
zonegate = NO
|
||
|
||
if (INTL) {
|
||
have_intl = YES
|
||
from.zone = intl.from.zone
|
||
from.net = intl.from.net
|
||
from.node = intl.from.node
|
||
if (to.net == intl.to.net && to.node == intl.to.node) {
|
||
to.zone = intl.to.zone
|
||
} else {
|
||
zonegate = YES
|
||
real_to.zone = intl.to.zone
|
||
real_to.net = intl.to.net
|
||
real_to.node = intl.to.node
|
||
real_to.point = to.point
|
||
to.zone = from.zone // zonegate is in our zone...
|
||
to.point = 0
|
||
}
|
||
} else {
|
||
have_intl = NO
|
||
if (MSGID && we can decode ftn address from it &&
|
||
msgid.net == from.net && msgid.node == from.node &&
|
||
msgid.point == from.point) {
|
||
from.zone = msgid.zone
|
||
} else {
|
||
// any other heuristics?
|
||
}
|
||
}
|
||
|
||
if (from.zone == -1) {
|
||
if (have pkt && pkt.from.zone != 0)
|
||
// last resort.. seems reasonable.
|
||
from.zone = pkt.from.zone
|
||
else
|
||
from.zone = default_zone // i.e. from our first AKA
|
||
}
|
||
|
||
if (to.zone == -1)
|
||
to.zone = from.zone
|
||
|
||
// ================
|
||
// generating output pkt
|
||
|
||
msg.from.net = from.net
|
||
msg.from.node = from.node
|
||
msg.to.net = to.net
|
||
msg.to.node = to.node
|
||
if (from.point)
|
||
put FMPT from.point
|
||
if (to.point)
|
||
put TOPT to.point
|
||
if (have_intl || readressing done) {
|
||
if (zonegate)
|
||
put INTL real_to from
|
||
else
|
||
put INTL to from
|
||
}
|
||
|
||
// ================
|
||
// EOF
|
||
|
||
/------/
|
||
|
||
>[7] Q: ƒ¤¥ ¢§ïâì ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¯®«yç â¥«ï ¯ ª¥â®¢ á®®¡é¥¨©?
|
||
|
||
A: (TT)
|
||
|
||
H®¬¥p á¥â¥©/y§«®¢ ¨ ®â¯p ¢¨â¥«ï ¨ ¯®«yç ⥫ï 室ïâáï ¯® ¬¥áâ ¬
|
||
®¯p¥¤¥«¥ë¬ ¢ FTS-0001. „«ï ®¯p¥¤¥«¥¨ï ®¬¥p®¢ §® ¨ ¯®©â®¢ ¥®¡å®¤¨¬®
|
||
¨¤¥â¨ä¨æ¨p®¢ âì ⨯ ¯ ª¥â ; ®¡ëç® ¨á¯®«ì§yîâáï â ª §ë¢ ¥¬ë¥ ¯ ª¥âë
|
||
"2+", ᮢ¬¥áâ¨¬ë¥ á FTS-0001 - á¬. FSC-0039 ¨ FSC-0048, ¢ ¨å ®¯¨á ® ª ª
|
||
p ᯮ§ âì ᮮ⢥âáâ¢yî騥 ¯ ª¥âë ¨ £¤¥ ¢ ¨å § £®«®¢ª å 室¨âáï ®¬¥p
|
||
§®ë/¯®©â .
|
||
‘yé¥áâ¢yîâ ¨ ¡®«¥¥ p ¤¨ª «ì® ®â«¨ç î騥áï ä®p¬ âë, ¥á®¢¬¥áâ¨¬ë¥ á
|
||
FTS-0001 - FSC-0045, FSC-0065/0066, FSC-0077, FSC-0079, FSC-0081, FSC-0082,
|
||
® è¨p®ª®£® p á¯p®áâp ¥¨ï ®¨ ¥ ¯®«y稫¨.
|
||
|
||
/------/
|
||
|
||
>[8] Q: ‚ ¤¢®¨ç®¬ § £®«®¢ª¥ íå®-¯¨áì¬ ¬¥á⥠¤p¥á ®â¯p ¢¨â¥«ï á⮨â
|
||
> ¤p¥á á¨á⥬ë, ®â ª®â®p®© ¯p¨è¥« ¯ ª¥â á í⨬ ¯¨á쬮¬, ¬¥á⥠¤p¥á
|
||
>¯®«yç ⥫ï - ¬®© ᮡáâ¢¥ë© ¤p¥á. �®ç¥¬y?
|
||
|
||
A: (TT)
|
||
|
||
‚ᥠ¯p ¢¨«ì®. Š®£¤ -â® ¤ ¢®, ª®£¤ fidonet ⮫쪮 ç¨ « áì, ª®£¤ ¥é¥
|
||
¤ ¦¥ ¥ ¡ë«® â ª¨å ¯®ï⨩ ª ª §® , ¯®©â ¨ MSGID, ⮣¤ íå®¬í©« ¢ á¬ëá«¥
|
||
p á¯p®áâp ¥¨ï ®ç¥ì ¯®å®¤¨« netmail ¨ ®â«¨ç «áï ®â ¥£® ⮫쪮 á ¬®©
|
||
¯¥p¢®© câp®ª®© AREA:< §¢ ¨¥> ¯® ª®â®p®© íå®-¯p®æ¥áá®p ¬®£ ¢ë¡p âì
|
||
echomail ¨§ ®¡é¥£® ¤«ï ¢á¥å ¯¨á¥¬ 䮫¤¥p . �p¨ ®â¯p ¢ª¥ ¯¨á¥¬ íå®-¯p®æ¥áá®p
|
||
¯p®áâ ¢«ï« ᢮© ¤p¥á ª ª ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¤p¥á downlink'®¢ ª ª ¤p¥á
|
||
¯®«yç ⥫¥© ¨ yª« ¤ë¢ « í⨠¯¨áì¬ ¢ ®¡é¨© ¤«ï netmail' ¨ echomail'
|
||
䮫¤¥p.
|
||
|
||
‘ â¥å ¯®p p §¢¨â¨¥ netmail ¨ echomail è«® p §ë¬¨ ¯yâﬨ, ® ¨§ ç «ìë©
|
||
¯p¨æ¨¯ ®áâ «áï ¯p¥¦¨¬ - ¨ ¤p¥á ¢ § £®«®¢ª¥ ¢á¥ â ª ¦¥ yª §ë¢ îâ
|
||
uplink' ¨ downlink' .
|
||
|
||
/------/
|
||
|
||
>[9] Q: ’ ª £¤¥ ¦¥ ¢§ïâì ¤p¥á ®â¯p ¢¨â¥«ï ¨ ¯®«yç â¥«ï ¢ á®®¡é¥¨¨
|
||
>echomail?
|
||
|
||
A: a) (TT)
|
||
|
||
‘¬. FTS-0004 - ¢ ª®æ¥ origin' ¢ ᪮¡ª å yª § ¤p¥á ®â¯p ¢¨â¥«ï. H®
|
||
¡y¤ì⥠®áâ®p®¦ë - ¬®£¨¥ á¨á®¯ë pyè îâ áâ ¤ pâ, â ª çâ® ¢ ᪮¡ª å á⮨â
|
||
çâ®-⮠⨯ (¥ïá®çâ® zzz:nnn/fff[.ppp][@domain]). H®, ¯® ªp ©¥© ¬¥p¥,
|
||
pyè îâ ¥£® ¢á¥ ®¤¨ ª®¢® :-)
|
||
|
||
€ ¢®â ᪮«ì-¨¡y¤ì ¤®á⮢¥p®£® ¨áâ®ç¨ª ¤p¥á ¯®«yç â¥«ï ¢ íå®-á®®¡é¥¨¨
|
||
¥â. (Š«y¤¦ REPLY ᮤ¥p¦¨â ¥ ¤p¥á ¯®«yç ⥫ï, ¤p¥á á¨áâ¥¬ë ¢ ®â¢¥â
|
||
¯¨á쬮 á ª®â®p®© ¯¨á ® íâ® á®®¡é¥¨¥ - í⮠ᮢᥬ ¥ ®¤® ¨ ⮦¥!).
|
||
|
||
A: b) (JF)
|
||
|
||
IMHO, ¥á«¨ MSGID ¥áâì ¨ ¢ ¥¬ ®p¬ «ìë© FTN- ¤p¥á, â® íâ®â ¤p¥á
|
||
¯p¨®p¨â¥â¥© ¤p¥á ¢ ®p¨¤¦¨¥. H ¯p¨¬¥p, ¯p¨ £¥©â®¢ ¨¨ ¨§ FTN-ᮢ¬¥á⨬ëå
|
||
á¥â®ª ¬®¦® ¯®áâ ¢¨âì ¢ ®p¨¤¦¨ ¤p¥á £¥©â , ¢®â ¢ MSGID ¡y¤¥â ¨á室ë©
|
||
¤p¥á ¢ FTN-á¥âª¥. …᫨ ¢ MSGID á⮨⠨â¥p¥â᪨© ¤p¥á, â® p §y¬¥¥
|
||
®â¢¥ç âì ç¥p¥§ ¡«¨¦ ©è¨© ¥â¬¥©«®¢ë© £¥©â (¥á«¨ ¥£® ¤p¥á ¥áâì ¢ ª®ä¨£ å
|
||
p¥¤ ªâ®p ), ¥ á« âì ¯¨á쬮 ç¥p¥§ ¯®«-áâp ë £¥©â, yª § ë© ¢
|
||
®p¨¤¦¨¥.
|
||
|
||
Šáâ â¨, ¤¢¥ áâ ¤ pâë¥ ª®«ª¨ - ¥ FTN- ¤p¥á ¢ MSGID ¨ «¨§ ¯¥p¢®£®
|
||
®p¨¤¦¨ ¢¬¥áâ® ¯®á«¥¤¥£®. Œ®£¨¥ â®áá¥pë ¢®®¡é¥ ®¡p¥§ îâ ¯¨á쬮 ¯®
|
||
¯¥p¢®¬y ®p¨¤¦¨y. :(
|
||
|
||
’® ¥áâì, áâ ¤ pâ ï ª®«ª - á®åp ¨«¨ ¯¨á쬮 ¢ ä ©«¥, ¯®â®¬ ¢áâ ¢¨«¨
|
||
ä ©« ¢ ¤py£®¥ ¯¨á쬮. ’®áá¥p ¯® ¤®p®£¥ ®¡p¥§ « ¯¨á쬮 ¯® ¯¥p¢®¬y ®p¨¤¦¨y.
|
||
‚ p¥§y«ìâ ⥠¢ MSGID ¤p¥á ¢¥pë©, ¢ ®p¨¤¦¨¥ - «¥¢ë©. � § ¢ ¥¤¥«î/¬¥áïæ
|
||
â ª¨¥ ¯¨áì¬ ¢áâp¥ç îâáï.
|
||
|
||
/------/
|
||
|
||
>[10] Q: ‚ FTS-0009 ᪠§ ® çâ® ¢ MSGID ¤®«¦¥ 室¨âáï "valid return
|
||
>address", ¯p ªâ¨ª¥ ¢ MSGID ¬®¦® ¢¨¤¥âì ¨â¥p¥â®¢áª¨¥ ¤p¥á . Š ª
|
||
>¡ëâì?
|
||
|
||
A: a) (TT)
|
||
|
||
‚ FTS-0009 ᪠§ ®:
|
||
|
||
"valid return address for the originating network"
|
||
|
||
(¤¥©á⢨⥫ìë© (p ¡®â î騩, ¨¬¥î騩 ᨫy, p¥ «ìë©) ®¡p âë© ¤p¥á
|
||
¤«ï ¯®p®¤¨¢è¥© á¥â¨)
|
||
|
||
¨ â®â ¨â¥p¥â®¢áª¨© ¤p¥á y¤®¢«¥â¢®pï¥â í⮬y âp¥¡®¢ ¨î ¥ åy¦¥ ¯p¨¢ëçëå
|
||
zzz:ppp/fff.nnn - ¤«ï _᢮¥©_ á¥â¨ ® ¤¥©á⢨⥫ìë© ®¡p âë©. �® áyâ¨,
|
||
«î¡®© ¤p¥á ¢ msgid y¦¥ ⮫쪮 ¤«ï ®¡¥á¯¥ç¥¨ï y¨ª «ì®á⨠- p §ë¥
|
||
á¨áâ¥¬ë ¬®£yâ ¯®p®¦¤ âì ®¤¨ ª®¢ë¥ á¥p¨©ë¥ ®¬¥p , ® ®¨ ¢á¥£¤
|
||
®â«¨ç îâáï ¤p¥á ¬¨. …᫨ ¢ á ¥ y¡¥¤¨«® íâ® p ááy¦¤¥¨¥, â® ®¡p â¨â¥
|
||
¢¨¬ ¨¥ á«¥¤yî騥 äp §ë:
|
||
|
||
If the originating address is enclosed in double-quotes, the entire
|
||
string between the beginning and ending double-quotes is considered to
|
||
be the orginating address. A double-quote character within a quoted
|
||
address is represented by by two consecutive double-quote characters.
|
||
|
||
(¥á«¨ ¨á室ï騩 ¤p¥á § ª«îç¥ ¢ ª ¢ë窨, â® ¢áï áâp®ª ¬¥¦¤y
|
||
®âªpë¢ î饩 ¨ § ªpë¢ î饩 ª ¢ëçª ¬¨ áç¨â ¥âáï ¨á室ï騬 ¤p¥á®¬.
|
||
Š ¢ë窨 ¢ "§ ª ¢ë祮¬" ¤p¥á¥ ¯p¥¤áâ ¢«ïîâáï ¤¢y¬ï ¯®á«¥¤®¢ ⥫ì묨
|
||
ª ¢ëçª ¬¨)
|
||
|
||
¨ ¯®¯p®¡y©â¥ ®¡êïá¨âì á ¬®¬y ᥡ¥ - ª ª®© íâ® ftn- ¤p¥á ¬®¦¥â ᮤ¥p¦ âì ¢
|
||
ᥡ¥ ª ¢ë窨? :-)
|
||
|
||
ˆ ¢ «î¡®¬ á«yç ¥ á⮨â áç¨â âìáï á p¥ «ì®áâìî, ¤ ®© ¬ ¢ ®éy饨ïå...
|
||
|
||
A: b) (PG)
|
||
|
||
�®¯p ¢ª : ¢ á¢ï§¨ á ⥬, çâ® ¢ ¬®£®¯®«ì§®¢ ⥫ì᪨å á¨á⥬ å (multiline
|
||
BBS, unix) £¥¥p 樥© y¨ª «ì®£® ID ç áâ® § ¨¬ ¥âáï ®¤¨ á¥p¢¥p (¤¥¬®),
|
||
¢ MSGID, ª ª ¯p ¢¨«®, ¯¨è¥âáï ¥ ¯®«ë© ¤p¥á ®â¯p ¢¨â¥«ï, ¤p¥á á¨á⥬ë
|
||
- 3d-5d ¤p¥á (_¡¥§_ username) ¤«ï FTN, ¯p®áâ® ¤®¬¥ (_¡¥§_ username) ¤«ï
|
||
internet ¨ â.¯.
|
||
|
||
/------/
|
||
|
||
>[11] Q: �®ç¥¬y ¯ p £p äë ¢ á®®¡é¥¨¨ ¨®£¤ § ª 稢 îâáï ª®¤®¬ 0Dh, ¥
|
||
>ª®¬¡¨ 樥© 0Dh 0Ah?
|
||
|
||
A: (TT)
|
||
|
||
‘¬. FTS-0001 - ¯ p £p ä § ª 稢 ¥âáï ª®¤®¬ 0Dh. Š®¤ë 0Ah ¥ ¨á¯®«ì§yîâáï ¨
|
||
¤®«¦ë ¨£®p¨p®¢ âìáï.
|
||
|
||
/------/
|
||
|
||
>[12] Q: Š ª®¢ ¬ ªá¨¬ «ì ï ¤«¨ á®®¡é¥¨©?
|
||
|
||
A: (TT)
|
||
|
||
‘â ¤ pâë íâ® ¥ ®£®¢ p¨¢ îâ. �p ªâ¨ç¥áª¨ ¢á¥ ᮢp¥¬¥ë¥ ¯p®£p ¬¬ë
|
||
¤®¯y᪠îâ ¤«¨y á®®¡é¥¨© ¥ ¬¥¥¥ 64KB, ® ¤«ï ᮢ¬¥á⨬®áâ¨ á ¥é¥
|
||
¨á¯®«ì§yî騬¨áï áâ p묨 ¯p®£p ¬¬ ¬¨ ¥ p¥ª®¬¥¤y¥âáï ¤¥« âì á®®¡é¥¨ï
|
||
¤«¨¥¥ 12KB.
|
||
|
||
>[13] Q: —â® â ª®¥ §®¥£¥©â ¨ ª ª yª §ë¢ ¥âáï ¥£® ¨á¯®«ì§®¢ ¨¥ ¢ á®®¡é¥¨¨?
|
||
|
||
A: (TT)
|
||
|
||
‘¬. FSC-0004. ‚ªp âæ¥ - ¢ ª ¦¤®© §®¥ fidonet áyé¥áâ¢yîâ á¯¥æ¨ «ìë¥ y§«ë
|
||
(§®¥£¥©âë) ¤«ï ¯¥p¥á뫪¨ ¯¨á¥¬ ¢ ¤py£¨¥ §®ë. ‡®¥£¥©â ¨§ <z1> ¢ <z2>
|
||
¨¬¥¥â ¤p¥á <z1>:<z1>/<z2>. �¨á쬮 ®â y§« <z1>:<n1>/<f1> ª y§«y
|
||
<z2>:<n2>/<f2>, ¤p¥á®¢ ®¥ ç¥p¥§ §®¥£¥©â, ¨¬¥¥â ¢ ¤¢®¨ç®¬ § £®«®¢ª¥
|
||
¤p¥á á¥â¨/y§« ¯®«yç â¥«ï ¥ <n2>/<f2>, ª ª íâ® ¡ë«® ¡ë ¯p¨ ¯pאַ©
|
||
¤p¥á 樨, <z1>/<z2>.
|
||
|
||
/------/
|
||
|
||
>[14] Q: �® ª ª®¬y ¯p¨æ¨¯y £¥¥p¨py¥âáï y¨ª «ìë© ®¬¥p á®®¡é¥¨ï ¢ MSGID?
|
||
|
||
A: a) (TT)
|
||
|
||
‘¬®âp¨¬ FTS-0009:
|
||
|
||
no two messages from a given system may have the same serial number
|
||
within a three years. The manner in which this serial number is
|
||
generated is left to the implementor.
|
||
|
||
(¥ ¤®«¦ë ¯®ï¢«ïâìáï ¤¢ á®®¡é¥¨ï ®â ¤ ®© á¨á⥬ë á ®¤¨ ª®¢ë¬
|
||
¯®p浪®¢ë¬ ®¬¥p®¬ ¢ â¥ç¥¨¨ 3 «¥â. Œ¥â®¤, ¯® ª®â®p®¬y í⨠¯®p浪®¢ë¥
|
||
®¬¥p £¥¥p¨pyîâáï, ®áâ ¢«¥ yᬮâp¥¨¥ p¥ «¨§ â®p ).
|
||
|
||
H¥ ¯®¢â®pï©â¥ p á¯p®áâp ¥®© ®è¨¡ª¨ - ¡p âì ¢ ª ç¥á⢥ ¯®p浪®¢®£® ®¬¥p
|
||
¢p¥¬ï ¢ ä®p¬ ⥠unix - p ¡®â î騥 â ª¨¬ ®¡p §®¬ ¯p®£p ¬¬ë ¤¥« îâ ®¤¨ ª®¢ë¥
|
||
MSGID, ¥á«¨ ¬¥¦¤y ¨å § ¯y᪠¬¨ ¯p®å®¤¨â ¬¥ìè¥ á¥ªy¤ë.
|
||
|
||
A: b) (PK)
|
||
|
||
€ ¢®â âyâ ¡ë ï ¯p¨¢¥« ªyá®ç¥ª ¯á¥¢¤®ª®¤ ¨«¨ ¯p®áâ® ¯®pâ ¡¨«ì®£® ª®¤ ,
|
||
¯p¨¬¥p íâ®â ¤ ¥â ¯¥p¨®¤ ¯®¢â®p¥¨ï 388 ¤¥© ¨ § é¨é¥ ®â ç áâëå ¢ë§®¢®¢
|
||
¢yâp¨ ®¤®£® ¯p®æ¥áá :
|
||
|
||
/*
|
||
* This subroutine makes up an ascending unique ^aMSGID stamp
|
||
*/
|
||
|
||
static ULONG DoMakeMSGIDStamp(void)
|
||
{
|
||
static ULONG lStampPrev;
|
||
ULONG lStamp, lSecs, lHund, lSecStart = (ULONG) time(NULL);
|
||
#ifdef __OS2__
|
||
static BOOL fInfoSeg = FALSE;
|
||
static PGINFOSEG pgis;
|
||
static PLINFOSEG plis;
|
||
SEL selgis, sellis;
|
||
#else
|
||
union REGS regs;
|
||
#endif
|
||
|
||
// Under OS2 get pointers to the global and local info segments once
|
||
|
||
#ifdef __OS2__
|
||
if (!fInfoSeg) {
|
||
DosGetInfoSeg(&selgis, &sellis);
|
||
pgis = MAKEPGINFOSEG(selgis);
|
||
plis = MAKEPLINFOSEG(sellis);
|
||
fInfoSeg = TRUE;
|
||
}
|
||
#endif
|
||
|
||
// Make up time stamp out of number of seconds since Jan 1, 1970
|
||
// shifted 7 bits to the left OR'ed with current system clock and
|
||
// loop untill we get a new stamp
|
||
|
||
do {
|
||
#ifdef __OS2__
|
||
lSecs = (ULONG) pgis->time;
|
||
lHund = (ULONG) pgis->hundredths;
|
||
DosSleep(0);
|
||
#else
|
||
lSecs = (ULONG) time(NULL);
|
||
regs.h.ah = 0x2c; intdos(®s, ®s);
|
||
lHund = (ULONG) regs.h.dl;
|
||
#endif
|
||
lStamp = (lSecs << 7) | (lHund & 0x07f);
|
||
} while ((lStampPrev >= lStamp) && ((ULONG) time(NULL) < lSecStart + 5));
|
||
|
||
// Check if we finally have unique ascending ^aMSGID kludge stamp and
|
||
// if not, use incremented largest stamp value
|
||
|
||
if (lStampPrev >= lStamp) lStamp = lStampPrev + 1;
|
||
|
||
return lStampPrev = lStamp;
|
||
}
|
||
|
||
/------/
|
||
|
||
>[15] Q: Š ª®¢ p®y⨣ ¯® y¬®«ç ¨î ¥§ ¢¨á¨¬ë¥ y§«ë ¢ p¥£¨®¥/§®¥?
|
||
|
||
A: (TT)
|
||
|
||
H¥§ ¢¨á¨¬ë¥ y§«ë H… ¨¬¥îâ p®y⨣ ¯® y¬®«ç ¨î. ‘¬. FTS-0005.
|
||
|
||
/------/
|
||
|
||
>[16] Q: Š ª®© á¬ëá« ââp¨¡yâ ARQ?
|
||
|
||
A: (TT)
|
||
|
||
‘â ¤ pâë ä ªâ¨ç¥áª¨ ¥ ®¯p¥¤¥«ïîâ á¬ëá« ARQ. �® á«®¦¨¢è¥©áï (¯® ªp ©¥©
|
||
¬¥p¥ ¢ +7fido) ¯p ªâ¨ª¥ íâ®â ââp¨¡yâ § ¯p 訢 ¥â ¯®¤â¢¥p¦¤¥¨¥ âp §¨â .
|
||
|
||
/------/
|
||
|
||
>[17] Q: —¥¬ ®â«¨ç îâáï ââp¨¡yâë RRQ ¨ CFM?
|
||
|
||
A: (TT)
|
||
|
||
�¥p¢®¥ - § ¯p®á ¯®¤â¢¥p¦¤¥¨ï ¤®áâ ¢ª¨, ¢â®p®¥ - § ¯p®á ¯®¤â¢¥p¦¤¥¨ï
|
||
¯p®ç⥨ï.
|
||
|
||
/------/
|
||
|
||
>[18] Q: Š ª®¢ á¬ëá« ¨ ª ª á®®â®áïâáï ââp¨¡yâë Crash, Immediate, FPU,
|
||
>Direct, Hold?
|
||
|
||
A: (TT)
|
||
|
||
Crash
|
||
�p¨®p¨â¥â ï ®â¯p ¢ª . Ž¡ëç® ¯¥p¥ªpë¢ ¥â ¤¥©á⢨¥ ¤¨p¥ªâ¨¢ Hold ¢
|
||
áâp®©ª¥ ᮡë⨩ ¬í©«¥p - § ¢¨á¨â ®â p¥ «¨§ 樨.
|
||
Immediate
|
||
H¥¬¥¤«¥ ï ®â¯p ¢ª . Š ª ¯p ¢¨«® ¯¥p¥ªpë¢ ¥â ¤¨p¥ªâ¨¢ë Hold, ¬®¦¥â
|
||
¯¥p¥ªpë¢ âì  ®¡®§ 祮¥ ¨«¨ ¯®¤p §y¬¥¢ ¥¬®¥ ¢p¥¬ï p ¡®âë
|
||
áâ æ¨¨ ®â¯p ¢¨â¥«ï ¨/¨«¨ ¯®«yç ⥫ï, ¬®¦¥â ¯®¤p §y¬¥¢ âì Direct -
|
||
§ ¢¨á¨â ®â p¥ «¨§ 樨. ’ ª¦¥ ¬®¦¥â p áᬠâp¨¢ âìáï ª ª Crash ¨«¨
|
||
ª ª Crash+Direct.
|
||
FPU
|
||
H¥¬¥¤«¥ ï ®â¯p ¢ª ¢¥ «î¡ëå ®£p ¨ç¥¨©. �¥p¥ªpë¢ ¥â Hold,
|
||
¢p¥¬¥ p ¡®âë, ¯®¤p §y¬¥¢ ¥â Direct.
|
||
Direct
|
||
Žâ¯p ¢«ïâì ¯pï¬yî.
|
||
Hold
|
||
Žâ¯p ¢«ïâì ⮫쪮 ¯p¨ ¢å®¤ï饬 §¢®ª¥. ‡ ç áâyî ¯®¤p §y¬¥¢ ¥â
|
||
Direct.
|
||
|
||
‘yé¥áâ¢y¥â ¬¥¨¥, çâ® ª®¬¡¨ æ¨ï ââp¨¡y⮢ (¯p®â¨¢®p¥ç¨¢ ï) Crash+Hold
|
||
íª¢¨¢ «¥â ââp¨¡yây Direct. H¥ ᮢᥬ ¯®ïâ®, § 祬 â ª¨¥ á«®¦®áâ¨, ®
|
||
¥ª®â®pë¥ ¯p®£p ¬¬ë, ¢ª«îç ï ¯p¥á«®¢yâë© squish, â ª ¤¥« îâ. H §®¢¥¬ íâ®
|
||
®á®¡¥®áâìî :-)
|
||
|
||
/------/
|
||
|
||
>[19] Q: Š ª p¥ «¨§®¢ ë ¤®¬¥ë ¢ fidonet?
|
||
|
||
A: (TT)
|
||
|
||
�p ªâ¨ç¥áª¨ ¨ª ª. �®«ìè ï ç áâì ¯p®£p ¬¬®£® ®¡¥á¯¥ç¥¨ï, § ¥®£® ª ª
|
||
¯®¤¤¥p¦¨¢ î饣® 5d- ¤p¥á æ¨î, ¯® áy⨠⮫쪮 ¨ y¬¥îâ çâ® ¤®¡ ¢«ïâì
|
||
'@fidonet' ª ¢ 襬y ¤p¥áy ¢ MSGID. —â®, ¢ ®¡é¥¬, ¨ ¥ y¤¨¢¨â¥«ì® ¯p¨
|
||
«¨ç¨¨ ¥áª®«ìª¨å ¢§ ¨¬®¨áª«îç îé¨å ¯p¥¤«®¦¥¨©, ¨ ®¤® ¨§ ª®â®pëå
|
||
(¯®ª ?) ¥ ï¥âáï áâ ¤ p⮬. H ¯p¨¬¥p, ¤® á¨å ¯®p ¥ïá® ª ª §ë¢ ¥âáï
|
||
¤®¬¥ á ¬®© fidonet - "fidonet" ¨«¨ "fidonet.org" :-( ‚®§¬®¦®, ¯p®áâ®
|
||
¤®¡®áâì ¢ 5© ª®¬¯®¥â¥ ¬¥ìè¥, 祬 ¤y¬ «¨ ¢â®pë ¯p¥¤«®¦¥¨©...
|
||
|
||
/------/
|
||
|
||
>[20] Q: ‘ ª ª¨¬ § ª®¬ y¦® yª §ë¢ âì ᬥ饨¥ ®â ƒp¨¢¨ç ¢ ¯¥p¥¬¥®©
|
||
>®ªpy¦¥¨ï TZ?
|
||
|
||
A: (TT)
|
||
|
||
‚ ®â«¨ç¨¨ ®â ¬¨p unix' , y ¢â®p®¢ ¯p®£p ¬¬ ¯®¤ MS DOS ¥â ¥¤¨®£® ¬¥¨ï
|
||
íâ®â áç¥â. ޤ¨ ¯p®£p ¬¬ë âp¥¡yîâ § ª "-" (SET TZ=MSK-3MSD), ¤py£¨¥ -
|
||
§ ª "+" (SET TZ=MSK+3MSD), ¢â®pë âp¥âì¨å p¥è¨«¨, çâ® ¤¥¦¥¥ ¥
|
||
¯®« £ âìáï TZ ¥®¯p¥¤¥«¥®£® ¢¨¤ , § áâ ¢¨âì ¯®«ì§®¢ ⥫ï yª §ë¢ âì
|
||
ᬥ饨¥ ®â ƒp¨¢¨ç ¢ ª®ä¨£yp 樨 ¢ ⮬ ¢¨¤¥, ¢ ª ª®¬ ®¨ á ¬¨
|
||
®¯p¥¤¥«ïîâ.
|
||
|
||
Œ®¥ HO, çâ® ¡®«ìè ï ç áâì ¯p®£p ¬¬ ª®pp¥ªâ® p ¡®â îâ á ä®p¬ ⮬
|
||
TZ=MSK-3MSD.
|
||
|
||
/------/
|
||
|
||
>[21] Q: ƒ¤¥ ®¯¨á ë ä®p¬ âë ä ©«®¢ *.PKT, *.MSG, Hudson/Squish/JAM message
|
||
>base ¨ â.¤.?
|
||
|
||
A: (TT)
|
||
|
||
”®p¬ âë *.MSG ¨ *.PKT ®¯¨á ë ¢ FTS-0001, ® ® ¥áª®«ìª® p á室¨âáï á
|
||
p¥ «¨ï¬¨ - ç¨â ©â¥ ᮮ⢥âáâ¢yî騥 ¢®¯p®áë ¨ ®â¢¥âë. ”®p¬ â HMB ®¯¨á ¢
|
||
ä ©« å, ¯p¨« £ ¥¬ëå ª ¤¨áâp¨¡y⨢ ¬ Quick BBS ¨ Remote Access. ”®p¬ âë
|
||
Squish ¨ JAM ®¯¨á ë ¢ ¨å API (MSGAPI10.* ¨ JAMAPI10.*). Šp®¬¥ ⮣®,
|
||
áyé¥áâ¢y¥â ¬®£® p §®®¡p §ëå ¡¨¡«¨®â¥ª ¤«ï p ¡®âë c á®®¡é¥¨ï¬¨. „«ï
|
||
Turbo Pascal, ¯p¨¬¥p, áyé¥áâ¢y¥â ®ç¥ì ¥¯«®å ï (¤ p®¬, çâ® ®¡ê¥ªâ ï)
|
||
¡¨¡«¨®â¥ª :
|
||
|
||
MKSM106.ARJ - MK message access library v1.06 source code
|
||
|
||
Šp®¬¥ ⮣®, ¤«ï ¬®£¨å ¯p®£p ¬¬ áyé¥áâ¢yîâ ᮡáâ¢¥ë¥ á¯¥æ¨ä¨ç¥áª¨¥
|
||
¡¨¡«¨®â¥ª¨. H ¯p¨¬¥p: T-Mail API, FrontDoor Developers Kit, Developers Kit
|
||
for GEcho, FastEcho configuration file headers ¨ â.¯.
|
||
|
||
‚¥áì¬ ¢¥p®ïâ®, çâ® ª®ªp¥âë¥ ¢®¯p®áë ®¡ íâ¨å ä ©« å «yçè¥ ¡y¤¥â ®¡áy¤¨âì
|
||
¢ ª®ä¥p¥æ¨ïå SU.MAILER ¨«¨ RU.ECHOPROCESSORS...
|
||
|
||
/------/
|
||
|
||
>[22] Q: Š ª¨¥ ¥é¥ áyé¥áâ¢yîâ ª®ä¥p¥æ¨¨ ¤«ï ®¡áy¦¤¥¨ï â¥å®«®£¨© Fidonet?
|
||
|
||
A: a) (TT)
|
||
|
||
SU.MAILER - ¬í©«¥pë
|
||
RU.ECHOPROCESSORS - í宯p®æ¥áá®pë
|
||
RU.FILOEECHOPROCESSORS - ä ©«í宯p®æ¥áá®pë
|
||
RU.NETWORKS - á¥â¥¢ë¥ â¥å®«®£¨¨ ¢ ®¡é¥¬ (¥ LAN!)
|
||
FIDO.ANYWHERE - ª®ä¥p¥æ¨ï ®¡ FTN ¥PC-¯« âä®p¬ å
|
||
UA.FIDOTECH - yªp ¨áª ï íå® ® â¥å®«®£¨ïå Fidonet
|
||
DIG.FIDOTECH - íå® ª ª®©-â® á¥â¨ ® â¥å®«®£¨ïå Fidonet
|
||
|
||
Šp®¬¥ ⮣®, áyé¥áâ¢y¥â ¬®¦¥á⢮ ª®ä¥p¥æ¨© ¯® ®â¤¥«ìë¬ ¯p®£p ¬¬ë¬
|
||
¯p®¤yªâ ¬ Fidonet.
|
||
|
||
A: b) (DP)
|
||
|
||
DIG.FIDOTECH - ¤ ©¤¦¥áâ ¯® FTN ¨§ á¥â¨ 5005. ‘¥©ç á ¯yáây¥â. Œ®¤¥p â®p
|
||
£py¯¯ë ª®ä¥p¥æ¨© DIG.* - Vsevolod Fedotov (‚ᥢ®«®¤ ”¥¤®â®¢) €¤p¥á
|
||
¬®¤¥p â®p : 2:5005/2@fidonet
|
||
|
||
A: c) (AS)
|
||
|
||
R50.TSC ¥é¥... ’ ¬ p¥¤ª® çâ®-â® ¡ë¢ ¥â, ® ¨®£¤ , ¢á¥ ¦¥...
|
||
|
||
A: d) (Amir Shabashvili, 2:5049/12)
|
||
|
||
…áâì ru.fido.nextgen, ¯®á¢ïé¥ ï ®¡áy¦¤¥¨î ®¢ëå/¬®¤¨ä¨æ¨p®¢ ëå
|
||
¯p¨æ¨¯®¢ äyªæ¨®¨p®¢ ¨ï fidonet. ‘yé¥áâ¢y¥â ¥¤ ¢®. �®ª ® ¢
|
||
§ ç ⪥, p®¤y â ¬ ¬ «®. H® - ¦¨¢ ï. Šp®¬¥ ⮣®, ¨â¥p¥áë¥ ¢¥é¨ ç áâ®
|
||
®¡áy¦¤ îâáï ¢ su.ip.sysop.
|
||
|
||
A: e) (BI)
|
||
|
||
’ ª¦¥ ¤«ï ®¡áy¦¤¥¨ï ¢®¯p®á®¢ â¥å®«®£¨© ®¡p ¡®âª¨ ¥â¬¥©« áyé¥áâ¢y¥â
|
||
RU.NETMGR. ‚®¯p®áë ª®ªp¥âëå p¥ «¨§ 権 ᮢ¬¥é¥¨ï ”ˆ„Ž ¨ ˆâ¥p¥â
|
||
â¥å®«®£¨© ®¡áy¦¤ îâáï ¢ SU.IP.SYSOP, SU.IP.POINT ¨ SU.IP.SYSOP.DNS.
|
||
|
||
/------/
|
||
|
||
>[23] Q: “ 䨤®èëå ¯p®¤yªâ®¢ ¥áâì ª®¤ (Product ID). Šâ® ¥£® ¢ë¤ ¥â ¨ ª ª
|
||
>íâ® ¤¥« ¥âáï?
|
||
|
||
A: (TT)
|
||
|
||
�p®æ¥¤yp ¨ ä®p¬ § ¨ ®¯¨á ë ¢ FSC-0090. � ¥¥ ¢ë¤ ë¥ ª®¤ë
|
||
¯¥p¥ç¨á«ïîâáï ¢ ä ©«¥ FTSCPROD.*, ª®â®pë© ¬®¦® ©â¨ p冷¬ á FTS ¨ FSC
|
||
¬®£¨å y§« å.
|
||
|
||
/------/
|
||
|
||
>[24] Q: �®á®¢¥ây©â¥ å®p®èyî å¥è-äyªæ¨î ¤«ï ¯®«®© áâp®ª¨ ¨§ MSGID.
|
||
|
||
A: (st)
|
||
|
||
¯®«yçè¥ CRC ¡y¤¥â, ¯® ¬®¨¬ â¥áâ ¬
|
||
|
||
_ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _
|
||
O \
|
||
#define POLY 0x48000000L
|
||
|
||
static long CrcTable[128];
|
||
|
||
static void crcinit (void)
|
||
{
|
||
int i, j;
|
||
long sum;
|
||
|
||
for (i = 0; i < 128; ++i) {
|
||
sum = 0;
|
||
for (j = 7 - 1; j >= 0; --j)
|
||
if (i & (1 << j))
|
||
sum ^= POLY >> j;
|
||
CrcTable[i] = sum;
|
||
}
|
||
}
|
||
|
||
/* Honeyman's nice hashing function
|
||
*/
|
||
static long hash (register char *name, register int size)
|
||
{
|
||
register long sum;
|
||
|
||
if (size <= 0)
|
||
return 0;
|
||
|
||
sum = CrcTable[*name++ & 0x7f];
|
||
|
||
while (--size)
|
||
sum = (sum >> 7) ^ CrcTable[((char)sum ^ *name++) & 0x7f];
|
||
|
||
return (sum);
|
||
}
|
||
_ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _
|
||
O \
|
||
|
||
>[25] Q: € ª ª Fossil ¬®¦¥â «®ç¨âì ¯®pâ 57600 ¨«¨ 115200, ª®£¤ ¢
|
||
>áâ ¤ p⥠®¯p¥¤¥«¥® ⮫쪮 38400 ª ª ¬ ªá¨¬y¬?
|
||
|
||
A: (Roman Trunov, 2:5022/2)
|
||
|
||
„®¯®«¨â¥«ìë¥ äyªæ¨¨, ¥ yª § ë¥ ¢ ®¯¨á ¨¨. ˆ ¥ ª ¦¤ ï ¢¥pá¨ï ä®áᨫ
|
||
¨å ¤¥p¦¨â. H ¯p¨¬¥p, ¡ë« ¡®«ìè ï ¡yç á t-mail'®¬, ª®£¤ ¢¢¥«¨
|
||
¢®§¬®¦®áâì § «®çª¨ ¡®«ìèyî ᪮p®áâì, ¨, å®âï ¢ readme ¡ë«® ç¥âª®
|
||
®¯¨á ®, ª ª ï ¬¨¨¬ «ì ï ¢¥pá¨ï X00 ¤«ï í⮣® âp¥¡y¥âáï, ¤® á¨å ¯®p
|
||
¨¤yâ ¢®¯p®áë " çâ® ® y ¬¥ï 2400 ᮥ¤¨ï¥âáï"... Š®ªp¥â® ¬®¦¥èì
|
||
¯®ç¨â âì ¤®ªy X00.
|
||
|
||
>[26] Q: Š ª ®p£ ¨§®¢ outbound y BinkleyStyle-¬í©«¥p®¢?
|
||
|
||
Š®¬¬¥â p¨© (TT): ¢ ®¡é¥¬, íâ®â ¢®¯p®á ¡«¨¦¥ ª ⥬ ⨪¥ SU.MAILER, ®
|
||
®â¢¥âë ¥£® ¯p¥¤áâ ¢«ïîâ ¨â¥p¥á ª ª ¯p¨¬¥p p á¯p®áâp ¥®© ª®ªp¥â®©
|
||
p¥ «¨§ 樨 FTN.
|
||
|
||
A: a) (DM)
|
||
|
||
ˆ¬¥¥¬ ¥ªyî ¡ §®¢yî ¤¨p¥ªâ®p¨î. …᫨ è ¤p¥á z:n/n.p@domain, â® ¯®«®¦¨¬ ¢
|
||
¥¥ ¢á¥ ä ©«ë, ®â®áï騥áï ª y§« ¬ á ®¬¥p ¬¨ ¢¨¤ z:*/*@domain. ˆ¬¥
|
||
â ª¨å ä ©«®¢ á®áâ®ïâ ¨§ ¤¢yå ¯®«¥© ¯® ç¥âëp¥ è¥áâ ¤æ â¥p¨çëå æ¨äpë,
|
||
®¤®§ ç® § ¤ îé¨å á¥âì ¨ ®¬¥p y§« (§® ¨ ¤®¬¥, ®ç¥¢¨¤®, è¨.
|
||
�®¨â®¢ë© ®¬¥p ¯®« £ ¥âáï y«¥¢ë¬). ˆå p áè¨p¥¨ï ¢ § ¢¨á¨¬®á⨠®â ⨯
|
||
ä ©« ¬®£yâ ¡ëâì â ª¨¬¨:
|
||
|
||
.?lo -- ä ©«, ¢ ª®â®p®¬ ª ¦¤ ï ¨§ áâp®ª «¨¡® ¨¬ï ä ©« , ¯p¥¤ § 祮£®
|
||
ª ®â¯p ¢ª¥ y¤ «¥yî ¬ è¨y, «¨¡® ¯yáâ ï. …᫨ ¯yâì ¤® ä ©« ¥
|
||
¯®«ë©, ®â®á¨â¥«ìë© (â.¥. ¡¥§ yª § ¨ï ¡yª¢ë ¤¨áª ¨«¨ å®âï ¡ë
|
||
¯p®áâ® "/" ¨«¨ "\" ¢ ç «¥) â® ® ¤®¯®«ï¥âáï ¨¬¥¥¬ ¡ §®¢®©
|
||
¤¨p¥ªâ®p¨¨. �¥p¥¤ ¨¬¥¥¬ ä ©« ¬®¦¥â áâ®ïâì ®¤¨ ¨§ ᨬ¢®«®¢ -- `^', `#'
|
||
¨«¨ `~'. `^' -- y¤ «¨âì ¤ ë© ä ©« ¯®á«¥ yᯥ让 ¯®á뫪¨, `#' --
|
||
®¡p¥§ âì ¤® y«¥¢®© ¤«¨ë, `~' -- ¨£®p¨p®¢ âì ⥪áâ § í⨬ ᨬ¢®«®¬.
|
||
ˆ¬ ¬í©«¥pë ¯®¬¥ç îâ y¦¥ ®â®á« ë¥ ä ©«ë. …᫨ ¢á¥ áâp®ª¨ ¢ .?lo-誥
|
||
¯yáâë¥ ¨«¨ ç¨ îâáï á `~' -- ® ¬®¦¥â ¡ëâì £p®åyâ á ç¨á⮩
|
||
ᮢ¥áâìî.
|
||
|
||
.?ut -- type-1 (2, 2+) ¯ ª¥â á ¯®ç⮩, ª®â®pë© y¦® yá« âì
|
||
ᮮ⢥âáâ¢yî騩 ¤p¥á. ‚® ¢p¥¬ï ¯®á뫪¨ ¥¬y ¯p¨á¢ ¨¢ ¥âáï á«yç ©®¥ ¨¬ï
|
||
¨ p áè¨p¥¨¥ ".pkt". ‡¤¥áì ¨ ¢ëè¥ ¢®¯p®á¨ª § ¬¥ï¥âáï ®¤y ¨§ ¡yª¢ i,
|
||
c, f(o), d, h, ç⮠ᮮ⢥âáâ¢y¥â ä«í©¢®py ¯®çâë -- immediate, crash,
|
||
normal, direct ¨ hold. ”«í©¢®p "normal" ¤«ï «®è¥ª, ᮮ⢥âá⢥®,
|
||
ᨬ¢®«¨§¨py¥âáï p áè¨p¥¨¥¬ ".flo", ¤«ï ¯ ª¥â®¢ -- ".out".
|
||
|
||
.req -- ¯®ïâ®, ᯨ᮪ ä ©«®¢ ¤«ï äp¥ª . H ª ¦¤®© áâp®ª¥:
|
||
"filename_!password", £¤¥ password, ®ç¥¢¨¤®, ¯ p®«ì, `_' -- ¯p®¡¥«.
|
||
;) Ž ¯¥p¥¤ ¥âáï ¢® ¢p¥¬ï ¯®ç⮢®© á¥áᨨ y¤ «¥yî ¬ è¨y, âyâ ¦¥
|
||
®¡p ¡ âë¢ ¥âáï ¨ ¯p®áë¯ ¥âáï § ¤ §®«®âë¬ ¤®¦¤¥¬ ¨§ ä ©«®¢. :-/
|
||
|
||
xxxxyyyy.bsy -- íâ® ä« £ § ïâ®áâ¨. „®«¦¥ ¡ëâì ®¡ï§ â¥«ì® á®§¤ ¯¥p¥¤
|
||
«î¡®© ®¯¥p 樥© á ä ©« ¬¨ xxxxyyyy.*
|
||
|
||
.pnt -- íâ® ¤¨p¥ªâ®p¨ï, ¢ ª®â®pyî ª« ¤¥âáï ¯®çâ ¤«ï ¯®¨â®¢ ¤ ®£®
|
||
y§« . ” ©«ë ¢ ¥© ¤®«¦ë ¨¬¥âì ¨¬¥âì ¢ ª ç¥á⢥ ¨¬¥¨ è¥áâ ¤æ â¥p¨çë©
|
||
®¬¥p ¯®¨â , ¤®¯®«¥ë© ¤® ¢®á쬨 ᨬ¢®«®¢ y«ï¬¨, ¨ ®¤® ¨§
|
||
p áè¨p¥¨© -- ?lo, ?ut, req ¨ bsy.
|
||
|
||
…᫨ âp¥¡y¥âáï ¯®á« âì ¯®çây ¢ ¤py£yî §®y, â® á®§¤ ¥âáï ª â «®£ á ¨¬¥¥¬
|
||
ª ª y ¡ §®¢®£® outbound- ¨ p áè¨p¥¨¥¬ ¢¨¤ .xxx, £¤¥ .xxx --
|
||
è¥áâ ¤æ â¥p¨çë© ®¬¥p §®ë § 票ï.
|
||
|
||
„«ï ¯®á뫪¨ ¯®çâë ¢ á¥âì á ¤py£¨¬ ¤®¬¥®¬ ¢ ⮩ ¦¥ ¤¨p¥ªâ®p¨¨ £¤¥ «¥¦¨â è
|
||
¡ §®¢ë© outbound ¨ outbound-ë á®á¥¤¨å §® á®§¤ ¥âáï ª â «®£ ¢¨¤
|
||
"domain.xxx", £¤¥ xxx, ª ª ®¡ëç®, ®¬¥p §®ë ¢ á¥â¨ á ¤®¬¥®¬ "domain".
|
||
H ¯p¨¬¥p, ¥á«¨ ¢ è ®á®¢®© outbound «¥¦¨â ¢ ª â «®£¥ c:\BBS\outbound, â®
|
||
äp¥ª y§¥« 4:3/2.1@Testnet ®ª ¦¥âáï ¢ ä ©«¥ á ¨¬¥¥¬
|
||
c:\BBS\Testnet.004\00030002.pnt\00000001.req
|
||
|
||
A: b) (DtZ)
|
||
|
||
Š« áá¨ç¥áª ï ®¤®§®®¢ ï á奬 : outbound ®¡®§ 稬 § %OUT%. “ í⮩
|
||
¤¨p¥ªâ®p¨¨ ¥â p áè¨p¥¨ï.
|
||
* ޝp¥¤¥«¥¨¥. CTL-file - í⮠ᯨ᮪ ä ©«®¢ (ª ª ¯p ¢¨«®, pª¬¥©« ¨
|
||
* ââ 祩), ª®â®pë¥ ¤® ¯®á« âì ¯®«yç ⥫î. (®â¤¥«ì® ᬮâp¨ ¯p® ¥â¬¥©«)
|
||
„«ï ®¤ë, ¨¬ï CTL-file (%04H%04H.%clo) net,node,flavour (â¥, ¤«ï Crash
|
||
5020/730 139C02DA.CLO).
|
||
„«ï ¯®¨â , (%04H%04H.PNT\%08H.%clo) net,node,point,flavour (¤«ï Hold
|
||
5020/730.43 139C02DA.PNT\0000002B.HLO).
|
||
‘®¤¥p¦¨¬®¥ CTLFile:
|
||
<modifyer><¨¬ï-ä ©« -¤«ï-¯®á« âì>\n
|
||
<modifyer> (®¯æ¨® «ì®): ^ - KillSend, # - Truncuate Send
|
||
|
||
�p¨¬¥p: ¯®¨â § 宫¤ ® ¤¢ í宬¥©«®¢ëå ¡ ¤« , ââ ç¥ë© ä ©« ¨
|
||
ââ çì (¯p® ¥â¬¥©« ¢ ®¡é¥¬ á«yç ¥ ᬮâp¨ ¤ «¥¥, ® ¬¥áá £¨- ââ ç¨
|
||
ŠŽ��…Š’HŽ ¯®¬¥é âì ¢ CTL ä ©«).
|
||
#E:\HOST\OUT\89098354.MO0
|
||
#E:\HOST\OUT\89098354.MO1
|
||
C:\CONFIG.SYS
|
||
^E:\HOST\OUT\13FE0065.PKT
|
||
|
||
„®¯yáâ¨¬ë¥ ”«¥©¢®pë:
|
||
H)old C)rash I)mmidate D)irect F) normal (notice: .flo, not .nlo)
|
||
|
||
H…’Œ�‰‹
|
||
ˆ¬ï ¥â¬¥©«®¢®£® .PKT ä ©« ä®p¬¨py¥âáï ¯® ⥬ ¦¥ ¯p¨æ¨¯ ¬, ® ¨¬¥¥â
|
||
p áè¨p¥¨¥ .%cUT Flavour (⮫쪮 ¢ normal ⥯¥pì ¡y¤¥â ¡yª®¢ª O - ⥠,
|
||
normal ¥â¬¥©« ¨¬¥¥â p áè¨p¥¨¥ .OUT).
|
||
H¥â¬¥©«, «¥¦ 騩 ¢ yâ¡ y¤¥ â ª¨¬ ®¡p §®¬, H… ��ˆ€’’€—…H - ⥠¢ CTLfile
|
||
¥£® ¯¨á âì H… H€„Ž. H¥â¬¥©« ¯p¨ á¥áᨨ ¯¥p¥¨¬¥®¢ë¢ ¥âáï ¢ .PKT ¬¥©«¥p®¬.
|
||
|
||
”€‰‹-�…Š‚…‘’›
|
||
”®p¬¨pyîâáï ¯® ⮬y ¦¥ ¯p¨æ¨¯y, ¨¬¥îâ p áè¨p¥¨¥ .REQ. ‚ ¯p¨æ¨¯¥ ¥
|
||
¯p¨ ââ ç¥ë (å®âï ¢ BrakyTerme, ¯p¨¬¥p, íâ® ¥ â ª, ï § î, çâ® íâ®
|
||
¥¯p ¢¨«ì®). ”«¥©¢®p ¢ Bink #23 ¡ë« ¢á¥£¤ ®¯p¥¤¥«¥ ª ª Normal. „ «¥¥, ¢
|
||
¡®«¥¥ ¯®§¤¨å BT+ - áç¨â ¥âáï çâ® .REQ ¥ ¯®¢®¤ çâ®¡ë §¢®¨âì ¨ ¯p¨
|
||
p¥ª¢¥á⥠¤® á®§¤ ¢ âì ¯yá⮩ CTL ä ©« á y¦ë¬ ä«¥©¢®p®¬.
|
||
”®p¬ â .Req ä ©« :
|
||
<ˆŒŸ_”€‰‹€>\n
|
||
<ˆŒŸ_”€‰‹€>\n
|
||
¨ â.¤.
|
||
‘yé¥á⢥®: ¡ë¢ îâ á ¯ p®«ï¬¨, ¯¨èyâáï ¤«ï ª ¦¤®£® ä ©« ç¥p¥§ ®¤¨ ¯p®¡¥«
|
||
¨ !, ª ª ¯p ¢¨«®, Case Sensitive.
|
||
‘yé¥á⢥®: ¡ë¢ îâ ¥é¥ Update Requestë. Ž¡p â¨â¥áì ª p¥ª®¬¥¤®¢ ®©
|
||
«¨â¥p âyp¥. H ¬¥ª: Update Requestë ¥é¥ ¨ á ¯ p®«ï¬¨ ¡ë¢ îâ :-)
|
||
Žá®¡¥®áâì: ¢ ¯p¨æ¨¯¥, ¯® Bark (¥á«¨ ï ¥ ®è¨¡ îáì) ä ©«p¥ª¢¥áâ ¬ p¥ª¢¥áâ
|
||
¯p¨ ¯®áë« ¨¨ ¤®«¦¥ ¨¬¥âì ¨¬ï <net><node>.REQ. „«ï ¯®¨â - ¡ p¤ ª. �p¨
|
||
®¡p ¡®âª¥ ¢å®¤ï饣® äp¥ª ï ¡ë ®¡p ¡ âë¢ « _¢á¥_ ¯p¨è¥¤è¨¥ .REQ ä ©«ë, ®
|
||
¬®£® á®äâ â ª ¥ ¯®áây¯ ¥â. ‚ The Brake! ¢®®¡é¥ ª®ä¨£yp ¡¥«ì®.
|
||
|
||
ŒHŽƒŽ ‡ŽH
|
||
Šp®¬¥ Default OutBound, §® ª®â®p®© (¯®çâ¨?) ¢á¥£¤ ᮢ¯ ¤ ¥â á Main Aka
|
||
Œ¥©«¥p , â®áá¥p ¨ ¥â¬¥©«¯ ª¥p , áyé¥áâ¢yîâ Outbound ¤«ï ¤py£¨å §®, ¨¬ï
|
||
ª®â®pëå - ¤¨p¥ªâ®p¨ï á p áè¨p¥¨¥¬, ¯p¨¬¥p %OUT%.38D ( yâ¡ y¤ ¤«ï §®ë
|
||
909)
|
||
|
||
ŒHŽƒŽ „ŽŒ…HŽ‚
|
||
OutBoundë ¨¬¥îâ p §ë¥ §¢ ¨ï.
|
||
|
||
.BSY ”€‰‹›
|
||
‘®§¤ îâáï â®áá¥p®¬/¬¥©«¥p®¬/¯ ª¥p®¬/«î¡ë¬ ¤py£¨¬ § ¨â¥p¥á®¢ ë¬ á®ä⮬,
|
||
p ¡®â î騬 ¢ ¤ ë© ¬®¬¥â á ¤p¥á®¬ ¯® ®¯¨á ®¬y ¤«ï CTL ¯p¨æ¨¯y á
|
||
p áè¨p¥¨¥¬ .BSY. …᫨ áyé¥áâ¢y¥â .BSY ä« £ - ®¡é âìáï á CTL ¨«¨ ¥â¬¥©«®¬
|
||
§ ¯p¥é ¥âáï _ᮢᥬ_. H ¯p¨¬¥p, ¥á«¨ ¬¥©«¥p ¯®á«¥ ¯p®å®¦¤¥¨ï EMSI ¢ëïá¨â,
|
||
çâ® ®¤ ¨§ AKA § ïâë, á⮨â p¢ âì á¥áá¨î ( ¥ ⮫쪮 exclude aka, å®âï
|
||
íây ⥬y ¬®¦® ¨ ¯®á¯®p¨âì).
|
||
•®p®è¨© â® - áâ ¢¨âì ᥪy¤ë y .BSY ä ©« ¢ ®¬¥p «¨¨¨ ¥¥ á®§¤ ¢è¥©.
|
||
Šy«ìâypë© «£®p¨â¬ á®§¤ ¨ï .BSY: á®§¤ âì ä ©« á p áè¨p¥¨¥¬ .%X03X
|
||
®¬¥p «¨¨¨ ¨ ¯®¯ëâ âìáï ¯¥p¥¨¬¥®¢ âì ¢ .BSY. …᫨ ¯®á«¥ í⮣® ä ©« .%X03X
|
||
®¬¥p «¨¨¨ ¯p®¤®«¦ ¥â áyé¥á⢮¢ âì - áâ¥p¥âì ¥£® ¨ áç¨â âì, çâ® ¤p¥á
|
||
§ ïâ.
|
||
|
||
��Ž—ˆ… ”€‰‹›
|
||
|
||
‡ ¢¨á¨â ®á á®äâ . Bink á®§¤ ¥â .$$$ (¨«¨ ª ª â ¬?) á ¨ä®p¬ 樥© á
|
||
Call/Session, The Brake! á®§¤ ¥â .TRY á ¨ä®p¬ 樥© ® ¯®á«¥¤¥¬ ª®¥ªâ¥,
|
||
BrakyTerm (¡y¤¥â) á®§¤ ¢ âì .%cRQ Flavour - p¥ª¢¥áâë ¤«ï p¥ª¢¥áâ p¥ª ¢¥p
|
||
¨ â.¤.
|
||
|
||
A: c) (PG)
|
||
|
||
‚ ®â¢¥â¥ íâ®â ¢®¯p®á ¥áâì ¥áª®«ìª® ¯p®â¨¢®p¥ç¨©, á¢ï§ ëå á ⥬, çâ®
|
||
p¥£¨áâp ¡yª¢ ¢ ¨¬¥ å ä ©«®¢ ¥ ¢á¥£¤ ¨£®p¨py¥âáï, ¨ ä ©«ë *.CUT ¨
|
||
*.cut - íâ® p §ë¥ ä ©«ë ¢ ®¡é¥¬ á«yç ¥. H ᪮«ìª® ï § î, ¤«ï ¬ ªá¨¬ «ì®©
|
||
ᮢ¬¥á⨬®á⨠¢ â ª®© á¨ây 樨 ¢á¥£¤ «yçè¥ ¨á¯®«ì§®¢ âì ¯p¨ á®§¤ ¨¨
|
||
ä ©«®¢ ᨬ¢®«ë ¨¦¥£® p¥£¨áâp , ¯p¨ ç⥨¨ ¨áª âì ¢á¥ ¢®§¬®¦ë¥ ¢ p¨ âë
|
||
( ¯p¨¬¥p, regexp ".*\.[Cc][Ll][Oo]"). •®âï ¤ «¥ª® ¥ ¢¥áì á®äâ
|
||
¯p¨¤¥p¦¨¢ ¥âáï íâ¨å ¯p ¢¨«, çâ® á®§¤ ¥â ®¯p¥¤¥«¥ë¥ ¯p®¡«¥¬ë.
|
||
|
||
/------/
|
||
|
||
>[27] Q: —¥¬ ®â«¨ç ¥âáï ZModem ®â DirZap ®â ZedZap?
|
||
|
||
A: a) (st)
|
||
|
||
1) zmodem - ¡¥p¥¬ ª ª ¡ §y ;)
|
||
2) ZedZap - ¬ ªá¨¬ «ìë© p §¬¥p ¡«®ª y¢¥«¨ç¥ á 1ª ¤® 8ª, â ª¦¥ ®
|
||
¤¨ ¬¨ç¥áª¨ ¬¥ï¥âáï ¢® ¢p¥¬ï ¥§¤ë
|
||
3) DirZap - ZedZap, ¢ ª®â®p®¬ ¯p¨ ¯¥p¥¤ ç¥ í᪥©¯¨âáï ⮫쪮 ®¤¨ ¡ ©â -
|
||
DLE, â® ¥áâì ¥ ¥áª¥©¯ïâáï xon, xof, xon|0x80, xof|0x80, cr (¯®á«¥ ᮡ ª¨)
|
||
|
||
A: b) (JG)
|
||
|
||
Zmodem - ¡«®ª¨ ¤® 1k, ZedZap ¤® 8K, DirZap - ZedZap ¡¥§ ª¢®â¨£
|
||
y¯p.ᨬ¢®«®¢. ‚®â â ª:
|
||
|
||
void ZMOSendByte( register byte c )
|
||
{
|
||
static byte lastsent( 0 );
|
||
|
||
switch( c )
|
||
{
|
||
case 015:
|
||
case 0215:
|
||
|
||
if( (lastsent & 0x7F) != '@' )
|
||
goto SendIt;
|
||
|
||
case 021:
|
||
case 023:
|
||
case 0221:
|
||
case 0223:
|
||
case 020:
|
||
case 0220:
|
||
case ZDLE|0x80:
|
||
|
||
if( waZooType==DirZap )
|
||
goto SendIt;
|
||
|
||
case ZDLE:
|
||
comPort->bufferByte( ZDLE );
|
||
c ^= 0x40;
|
||
|
||
default:
|
||
SendIt:
|
||
comPort->bufferByte( lastsent = c );
|
||
}
|
||
}
|
||
|
||
/------/
|
||
|
||
>[28] Q: Š ª ª®pp¥ªâ® y¤ «¨âì ¯¨á쬮 ¢ JAM-¡ §¥?
|
||
|
||
A: (TT)
|
||
|
||
1) �®¬¥ç ¥èì ¯¨á쬮 ª ª y¤ «¥®¥ (yáâ ®¢¨ ¡¨â MSG_DELETED ¢ § £®«®¢ª¥);
|
||
2) y¤ «ï¥èì á®®¡é¥¨¥ ¨§ reply-chain; 3) y¢¥«¨ç¨¢ ¥èì 1 áç¥â稪
|
||
modcounter.
|
||
|
||
Š®¬¬¥â p¨© ª 2): áá뫪¨ ¤ ®¥ á®®¡é¥¨¥ ¬®£yâ 室¨âáï ¢:
|
||
- 楯®çª¥ ®â¢¥â®¢ ¥£® - ¯p®¢¥pì ¯®«¥ Reply1st ¨ ¥á«¨ â ¬ ¥ 0, â®
|
||
¯p®©¤¨áì ¯® 楯®çª¥ ReplyNext ¨ ®¡y«ï© ReplyTo;
|
||
- ¯p¥¤ë¤y饬 í«¥¬¥â¥ ¢ 楯®çª¥ ®â¢¥â®¢ - ¯p®¢¥pì ¯®«¥ ReplyTo ¨ ¥á«¨
|
||
â ¬ ¥ 0, â® íâ® áá뫪 ¨á室®¥ á®®¡é¥¨¥. �p®©¤¨ ®â ¨á室®£®
|
||
á®®¡é¥¨ï (¯®«¥ Reply1st) ¯® 楯®çª¥ ®â¢¥â®¢ (¯®«ï ReplyNext) ¨ y¤ «¨
|
||
¤ ®¥ á®®¡é¥¨¥ ¨§ 楯®çª¨. “çâ¨, çâ® ¤ ®¥ á®®¡é¥¨¥ ¬®¦¥â ¡ëâì
|
||
¯¥p¢ë¬ ¢ 楯®çª¥ ®â¢¥â®¢.
|
||
- ¥á«¨ ¢ ¯®«¥ ReplyTo ¥ 0, ¨ á®®¡é¥¨¥, ª®â®p®¥ ®® yª §ë¢ ¥â, ¢
|
||
¯®«¥ Reply1st ᮤ¥p¦¨â 0, â® íâ® - «¨ª®¢ª ¯® ¯®«î subject (y⨫¨â
|
||
JAM-LINK ¨«¨ «®£¨ç ï) ¨ ¥®¡å®¤¨¬® ¨áª«îç¨âì ¤ ®¥ á®®¡é¥¨¥ ¨§
|
||
楯®çª¨, á¢ï§ ®© ¯®«ï¬¨ ReplyTo (¢ ¬¥ìèyî áâ®p®y) ¨ ReplyNext (¢
|
||
¡®«ìèyî).
|
||
|
||
€ ¬®¦® - ¥á«¨ íâ® ¥ p¥¤ ªâ®p ¯¨á¥¬ - ¯p®áâ® ®ç¨áâ¨âì ¢á¥-¢á¥ Reply-¯®«ï.
|
||
FEUTIL â ª ¨ ¤¥« ¥â. ‚ ¯p¨æ¨¯¥ ¬®¦® ¤ ¦¥ ¢®®¡é¥ ¨ç¥£® ¥ ¤¥« âì -
|
||
¯p®£p ¬¬ «¨ª®¢ª¨ á ¬ p §¡¥p¥âáï, ®áâ «ìë¬ íâ® ¥ ¤®«¦® ¡ëâì
|
||
áyé¥á⢥®.
|
||
|
||
H¥¡¥§ë§¢¥áâë© GoldED ¬®¦¥â p ¡®â âì ¢ p¥¦¨¬¥ "Hard Delete", æ¨â¨pyî
|
||
¤®ªy¬¥â æ¨î:
|
||
|
||
JAMHARDDELETE <yes/no> (no)
|
||
|
||
The default setting makes GoldED conform to the JAMAPI specs when
|
||
deleting msgs in JAM msgbases. This means that deleted msgs are only
|
||
marked as such in the message header, not in the index. As a result,
|
||
GoldED will find and display the deleted msgs until you run a message
|
||
pack utility to physically remove the deleted msgs.
|
||
|
||
If JAMHARDDELETE is set to Yes, GoldED will zap the reference to the
|
||
message in the index when deleting msgs. This way the deleted msgs
|
||
will not show up again later. The drawback of this approach is that it
|
||
is hard to undelete msgs, and may break other software which assume
|
||
100% to-the-letter conformance to the specs. Note however, that the
|
||
hard-delete method is transparent to normal use of JAM msgbases.
|
||
Probably the only software that might break are undelete utilities.
|
||
|
||
For the techies and programmers, the hard-delete method is simply
|
||
setting both UserCRC and HdrOffset in the index to 0xFFFFFFFF
|
||
instead of only the UserCRC. According to the JAMAPI specs, a value of
|
||
0xFFFFFFFF in HdrOffset means that "there is no corresponding
|
||
message header". Sounds remarkably like a deleted msg, right? :-)
|
||
|
||
Žç¥¢¨¤®, ¥á«¨ ¨á¯®«ì§y¥âáï â ª®© ¬¥â®¤, â® ¤®¯®«¨â¥«ì®: 4) y¬¥ìè ¥èì
|
||
1 áç¥â稪 activemsgs; 5) ª®pp¥ªâ¨py¥èì ¯p¨ ¥®¡å®¤¨¬®á⨠(¥á«¨ âë y¤ «ï¥èì
|
||
á®®¡é¥¨¥ á â ª¨¬ ®¬¥p®¬) basemsgnum.
|
||
|
||
Š®¬¬¥â p¨© ª 5): á®®¡é¥¨¥ á lowest message number ᮢ¥p¥è¥® ¥
|
||
®¡ï§ â¥«ì® ¡y¤¥â ¯¥p¢ë¬ - ᬮâp¨ p §¤¥« "Updating message headers". ˆ,
|
||
p §y¬¥¥âáï, ®¢ë© basemsgnum ¥ ¡y¤¥â p ¢¥ áâ p®¬y ¯«îá 1.
|
||
|
||
|
||
>[29] Q: ƒ¤¥ ®¯¨á ë ä®p¬ âë TIC-ä ©«®¢
|
||
|
||
A:
|
||
|
||
FSC-0087
|
||
|
||
/------/
|
||
|
||
>[30] Q: Hy¦¥ ª®¤ ¤«ï ¯p¥®¡p §®¢ ¨ï ¤ âë ¨ ¢p¥¬¥¨ ¢/¨§ unix-ä®p¬ â .
|
||
|
||
A: (st)
|
||
|
||
_ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _
|
||
O \
|
||
/*
|
||
* Convert MSDOS file timestamp to/from UNIX time, portable
|
||
* NOTE: no timezone conversions here!
|
||
*
|
||
* This code is in public domain.
|
||
*
|
||
* Written by serge terekhov (2:5000/13@fidonet)
|
||
*
|
||
*/
|
||
|
||
/*
|
||
* This module gives you two simple entries:
|
||
*/
|
||
|
||
unsigned long ToUnixTime (void *dostime);
|
||
void FromUnixTime (unsigned long unix, void *ret);
|
||
|
||
|
||
/*
|
||
* MS-DOS file timestamp structure, used as reference and in TEST
|
||
*/
|
||
struct ftime {
|
||
/* least significant bits in a double word goes first! */
|
||
unsigned sec : 5; /* 0 Seconds / 2 */
|
||
unsigned min : 6; /* 5 Minutes */
|
||
unsigned hour : 5; /* 11 Hours */
|
||
unsigned day : 5; /* 16 Days */
|
||
unsigned month : 4; /* 21 Months */
|
||
unsigned year : 7; /* 25 Year - 1980 */
|
||
};
|
||
|
||
/*
|
||
* Table for years 1979-2078
|
||
*/
|
||
|
||
#define YEARS 100
|
||
#define BASE 1979
|
||
static unsigned _year_day[] = {
|
||
3345u, 3711u, 4076u, 4441u, 4806u, 5172u, 5537u, 5902u,
|
||
6267u, 6633u, 6998u, 7363u, 7728u, 8094u, 8459u, 8824u,
|
||
9189u, 9555u, 9920u, 10285u, 10650u, 11016u, 11381u, 11746u,
|
||
12111u, 12477u, 12842u, 13207u, 13572u, 13938u, 14303u, 14668u,
|
||
15033u, 15399u, 15764u, 16129u, 16494u, 16860u, 17225u, 17590u,
|
||
17955u, 18321u, 18686u, 19051u, 19416u, 19782u, 20147u, 20512u,
|
||
20877u, 21243u, 21608u, 21973u, 22338u, 22704u, 23069u, 23434u,
|
||
23799u, 24165u, 24530u, 24895u, 25260u, 25626u, 25991u, 26356u,
|
||
26721u, 27087u, 27452u, 27817u, 28182u, 28548u, 28913u, 29278u,
|
||
29643u, 30009u, 30374u, 30739u, 31104u, 31470u, 31835u, 32200u,
|
||
32565u, 32931u, 33296u, 33661u, 34026u, 34392u, 34757u, 35122u,
|
||
35487u, 35853u, 36218u, 36583u, 36948u, 37314u, 37679u, 38044u,
|
||
38409u, 38775u, 39140u, 39505u };
|
||
|
||
static unsigned _month_day[] = {
|
||
0, 31, 61, 92,122,153,184,214,245,275,306,337
|
||
};
|
||
|
||
#define DOS ((unsigned char*)dos)
|
||
|
||
|
||
unsigned long ToUnixTime (void *dos)
|
||
{
|
||
unsigned lo = ((unsigned)(DOS[1]) << 8) | DOS[0];
|
||
unsigned hi = ((unsigned)(DOS[3]) << 8) | DOS[2];
|
||
unsigned y = ((hi >> 9) & 0x7f) + (1980 - BASE);
|
||
unsigned m = (hi >> 5) & 0xf;
|
||
|
||
if (m < 3) {
|
||
--y;
|
||
m += 12;
|
||
}
|
||
|
||
if (y >= YEARS)
|
||
y = YEARS - 1; /* Foolproof: if we wanna unknown year */
|
||
|
||
return
|
||
86400ul * (_month_day[m - 3] + _year_day[y] + (hi & 0x1f)) +
|
||
3600ul * ((lo >> 11) & 0x1f) +
|
||
60 * ((lo >> 5) & 0x3f) +
|
||
2 * (lo & 0x1f);
|
||
}
|
||
|
||
|
||
static int binary_search (unsigned *data, unsigned datum, int num)
|
||
{
|
||
int i, off = 0;
|
||
|
||
while (num > 0) {
|
||
i = num >> 1;
|
||
|
||
if (datum == data[i + off])
|
||
return (i + off);
|
||
|
||
if (datum < data[i + off])
|
||
num = i;
|
||
else {
|
||
off += i + 1;
|
||
num -= i + 1;
|
||
}
|
||
}
|
||
|
||
return off;
|
||
}
|
||
|
||
|
||
void FromUnixTime (unsigned long unix, void *dos)
|
||
{
|
||
unsigned long ret = 0;
|
||
unsigned date = (unsigned)(unix / 86400ul);
|
||
|
||
/* can't convert dates before 1980 or after last known year */
|
||
if (date >= _year_day[0] && date <= _year_day[YEARS - 1]) {
|
||
unsigned y, m;
|
||
|
||
y = binary_search (_year_day, date, YEARS);
|
||
date -= _year_day[--y];
|
||
|
||
m = binary_search (_month_day, date, 12);
|
||
date -= _month_day[--m];
|
||
|
||
if ((m += 3) > 12) {
|
||
m -= 12;
|
||
++y;
|
||
}
|
||
|
||
/* merge year/month/date word in DOS format */
|
||
date |= ((y - (1980 - BASE)) << 9) + (m << 5);
|
||
|
||
unix %= 86400ul;
|
||
m = (unsigned) (unix % 3600);
|
||
ret = ((unsigned long)date << 16) +
|
||
((unix / 3600) << 11) +
|
||
((m / 60) << 5) +
|
||
((m % 60) >> 1);
|
||
}
|
||
|
||
DOS[0] = (unsigned char)(ret);
|
||
DOS[1] = (unsigned char)(ret >> 8);
|
||
DOS[2] = (unsigned char)(ret >> 16);
|
||
DOS[3] = (unsigned char)(ret >> 24);
|
||
}
|
||
|
||
|
||
#ifdef TEST
|
||
|
||
#include <stdio.h>
|
||
#include <dir.h>
|
||
|
||
void main (int argc, char **argv)
|
||
{
|
||
struct ftime ft;
|
||
struct ffblk ff;
|
||
long tt;
|
||
|
||
if (argc == 2) {
|
||
if (!findfirst (argv[1], &ff, -1)) {
|
||
printf ("DOS %08lx\n", *(long *)&ff.ff_ftime);
|
||
|
||
tt = ToUnixTime (&ff.ff_ftime);
|
||
|
||
printf ("UNIX %08lx\n", tt);
|
||
|
||
FromUnixTime (tt, &ft);
|
||
|
||
printf ("DOS %08lx\n", *(unsigned long *)&ft);
|
||
printf ("%u/%u/%u %u:%u:%u\n", ft.month, ft.day, ft.year + 1980,
|
||
ft.hour, ft.min, ft.sec << 1);
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
#endif
|
||
_ _ _ O / _ _ C_U_T_ H_E_R_E_ _ _ _
|
||
O \
|
||
|
||
[ THE END ]
|