Problemy s dorucenim posty
unicode
unicode at cb.bohem-net.cz
Wed Jun 12 06:06:45 CEST 1996
Mam problem, v patek jsem poslal E-mail na adresu eleka at login.cz a
v pondeli jsem nasel v poste varovani od postserveru, ze se mu nedari
zpravu dorucit (viz priloha). Ted nevim, jak to dopadlo, poslal by mi
server zpravu, pokud by to vubec nedorucil, a kdy? Da se nejak zjistit,
jestli posta vubec dosla (takovy doporuceny dopis)?
-------------- next part --------------
Return-Path: MAILER-DAEMON
Received: from localhost (localhost) by trantor.tempr.cz (8.7.4/8.7.1) with internal id OAA15128; Fri, 7 Jun 1996 14:03:10 +0200
Date: Fri, 7 Jun 1996 14:03:10 +0200
From: Mail Delivery Subsystem <MAILER-DAEMON>
Subject: Warning: could not send message for past 4 hours
Message-Id: <199606071203.OAA15128 at trantor.tempr.cz>
To: <unicode at cb.bohem-net.cz>
MIME-Version: 1.0
Content-Type: multipart/report; report-type=delivery-status;
boundary="OAA15128.834148990/trantor.tempr.cz"
Auto-Submitted: auto-generated (warning-timeout)
Status:
X-Mozilla-Status: 0001
This is a MIME-encapsulated message
--OAA15128.834148990/trantor.tempr.cz
**********************************************
** THIS IS A WARNING MESSAGE ONLY **
** YOU DO NOT NEED TO RESEND YOUR MESSAGE **
**********************************************
The original message was received at Fri, 7 Jun 1996 09:48:26 +0200
from [193.165.64.11]
----- The following addresses have delivery notifications -----
<ELEKA at LOGIN.cz> (transient failure)
----- Transcript of session follows -----
<ELEKA at LOGIN.cz>... Deferred: No route to host
Warning: message still undelivered after 4 hours
Will keep trying until message is 5 days old
--OAA15128.834148990/trantor.tempr.cz
Content-Type: message/delivery-status
Reporting-MTA: dns; trantor.tempr.cz
Arrival-Date: Fri, 7 Jun 1996 09:48:26 +0200
Final-Recipient: RFC822; ELEKA at LOGIN.cz
Action: delayed
Status: 4.2.0
Remote-MTA: DNS; mcsun.eu.net
Last-Attempt-Date: Fri, 7 Jun 1996 14:03:10 +0200
Will-Retry-Until: Wed, 12 Jun 1996 09:48:26 +0200
--OAA15128.834148990/trantor.tempr.cz
Content-Type: message/rfc822
Return-Path: unicode at cb.bohem-net.cz
Received: from [193.165.64.11] ([193.165.64.11]) by trantor.tempr.cz (8.7.4/8.7.1) with SMTP id JAA14457 for <ELEKA at LOGIN.cz>; Fri, 7 Jun 1996 09:48:2
X-Authentication-Warning: trantor.tempr.cz: Host [193.165.64.11] didn't use HELO protocol
Message-ID: <31B85035.5E2B at cb.bohem-net.cz>
Date: Fri, 07 Jun 1996 08:52:21 -0700
From: unicode <unicode at cb.bohem-net.cz>
X-Mailer: Mozilla 2.01 (Win16; I)
MIME-Version: 1.0
To: ELEKA at LOGIN.cz
Subject: Program pro MR350 na Letisti Brno, uniCODE Pelhrimov
Content-Type: multipart/mixed; boundary="------------7D6A2A1C367F"
This is a multi-part message in MIME format.
--------------7D6A2A1C367F
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="GATE.C"
#include <stdio.h>
#include <dos.h>
#include <conio.h>
#include <string.h>
#include "350kit.h"
#define KEY_LEN 6
void ErrBeep(void);
void GoodBeep(void);
int Zpracuj(void);
void Kod(void);
extern union REGS regs;
extern struct SREGS segregs;
unsigned char buff[130]; // pracvni bufer
unsigned char receive = 0; // pocitadlo prijmu
unsigned char transmit = 0; // pocitadlo vysilani
#pragma warn -rvl
_setenvp()
{
}
#pragma warn +rvl
void main(void)
{
unsigned char keybuff[KEY_LEN + 1];
int keypos = 0;
int dir;
unsigned char cc;
// vstup z barcode-readeru
regs.h.ah = 0x1A;
regs.h.bh = 6;
regs.h.al = 0;
int86(0x21, ®s, ®s);
// povolit reader
setbar2(1);
// vybrat COM1 jako HOST
regs.h.ah = 0x1C;
regs.h.al = 1;
regs.h.bh = 0;
int86(0x21, ®s, ®s);
// COM1 multi protocol
regs.h.ah = 0x1C;
regs.h.bh = 1;
regs.h.al = 2;
int86(0x21, ®s, ®s);
// zhasne kurzor
setcur(3);
// smaze obrazovku
cls();
// uvodni napis
setpos(0, 0);
printf(" Terminal GATE");
while (1)
{
// cte COM
if (getmul(buff, 0) == 0)
if (Zpracuj()) // neco se precetlo
break; // mam to ukoncit
// cte kod
if (getbar2(buff, 0, &dir) == 0)
{
keypos = 0; // vynuluje klavesnici
Kod();
}
// klavesnice
if (kbhit())
{
if ((cc = getch()) == 'Q') // koncime
break;
else
switch (cc)
{
case '\0': // ridici klavesa
getch(); // prectu druhou cast kodu
break;
case '0':
case '1':
case '2':
case '3':
case '4':
case '5':
case '6':
case '7':
case '8':
case '9':
case '\x08': // BackSpace
if (cc == '\x08')
{
if (keypos > 0)
keybuff[--keypos] = '\0';
}
else
if (keypos < KEY_LEN)
{
keybuff[keypos] = cc;
keybuff[++keypos] = '\0';
}
else
keybuff[keypos - 1] = cc;
setpos(1, 0);
printf("Rucne: ");
setpos(1, 7);
printf(keybuff);
break;
case 0x0D: // Enter
strcpy(&buff[1], keybuff); // kopiruje o znak dal
buff[0] = '0';
buff[7] = '0';
buff[8] = '\0'; // doplni na ocekavany tvar
keypos = 0; // vynuluje klavesnici
Kod(); // vyhodnoti kod
break;
default: // chybny znak
ErrBeep();
break;
}
}
}
}
void GoodBeep(void)
{
// ton pri dobre akci - vysoky, kratky
regs.x.ax = 6;
regs.x.bx = 3;
int86(0x3F, ®s, ®s);
}
void ErrBeep(void)
{
// ton pri chybe - hluboky, dlouhy
regs.x.ax = 0;
regs.x.bx = 6;
int86(0x3F, ®s, ®s);
}
int Zpracuj()
{
/* if (buff[0] != receive) // neprijal jsem totez dvakrat?
{
receive = buff[0]; // cislo posledniho paketu
*/
switch(buff[1]) // texty
{
case '@': // horni radek
setpos(0, 0);
printf("%15s", &buff[3]);
break;
case '#': // spodni radek
setpos(1, 0);
printf("%15s", &buff[3]);
break;
case '&': // asi knec
if (buff[2] == '&') // koncime
return 1;
break;
}
switch (buff[2]) // beepy
{
case '@': // okay
GoodBeep();
break;
case '#': // problem
ErrBeep();
break;
}
/* } */
return 0;
}
void Kod(void)
{
setpos(1, 0);
if (strlen(buff) == 8) // kontrola delky
{
buff[7] = '\0'; // konec retezce
printf("Kod: %6s ", &buff[1]); // vynecham uvodni nulu
buff[0] = ++transmit; // poradi paketu
if (putmul(buff, 0) == 1) // poslu
{
setpos(1, 0); // HOST nebere data
printf("Neni spojeni!");
ErrBeep();
}
}
else
{
printf("Nespravny kod! "); // necekana delka kodu
ErrBeep();
}
}
--------------7D6A2A1C367F
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="350KIT.H"
// clear screen
void cls(void);
// set cur type 1: block, 0: underscore
void setcur(int at);
// set cursor position xx, yy
void setpos(int xx, int yy);
// output char to rs232
void rs232o(int data);
// input char from rs232
int rs232i(int *data, int wait);
// set rs232 parameter
void rs232p(int data);
// output char to rs485
void rs485o(int data);
// input char from rs485
int rs485i(int *data, int wait);
// set rs485 parameter
void rs485p(int data);
// enable rs485
void rs485e(void);
// disable rs485
void rs485d(void);
// get message from host port
int getmul(char *buff, int wait);
// put string data to rs485 multipoint port
int putmul(char *buff, int wait);
// check multipoint to ready or not
int chkmul(void);
void setbar1(int st);
int getbar1(char *buff, int wait, int *dir);
void setbar2(int st);
int getbar2(char *buff, int wait, int *dir);
--------------7D6A2A1C367F
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Content-Disposition: inline; filename="350KIT.C"
#include <stdio.h>
#include <memory.h>
#include <string.h>
#include <dos.h>
#include "350kit.h"
#define RS232 0x34
#define RS485 0x33
#define VIDEO 0x10
#define RELAY 0x09
#define PHOTO 0x08
union REGS inregs, outregs, regs;
struct SREGS segregs;
// clear screen
void cls(void)
{
regs.h.ah = 0;
int86(VIDEO, ®s, ®s);
}
// set cur type 1: block, 0: underscore
void setcur(int at)
{
regs.h.ah = 1;
regs.h.al = at;
int86(VIDEO, ®s, ®s);
}
// set cursor position xx, yy
void setpos(int xx, int yy)
{
regs.h.ah = 2;
regs.h.dl = yy;
regs.h.dh = xx;
int86(VIDEO, ®s, ®s);
}
// output char to rs232
void rs232o(int data)
{ regs.h.al = data;
regs.h.ah = 2;
int86(RS232, ®s, ®s);
}
// input char from rs232
int rs232i(int *data, int wait)
{
do
{
regs.h.ah = 1;
int86(RS232, ®s, ®s);
if (regs.h.ah == 0)
{
*data = regs.h.al; // have data
return 0;
}
} while (wait);
return 1;
}
// set rs232 parameter
void rs232p(int data)
{
regs.h.ah = 0;
regs.h.al = data;
int86(RS232, ®s, ®s);
}
// output char to rs485
void rs485o(int data)
{
regs.h.al = data;
regs.h.ah = 2;
int86(RS485, ®s, ®s);
}
// input char from rs485
int rs485i(int *data, int wait)
{
do
{
regs.h.ah = 1;
int86(RS485, ®s, ®s);
if (regs.h.ah == 0)
{
*data = regs.h.al; // have data
return 0;
}
} while (wait);
return 1;
}
// set rs485 parameter
void rs485p(int data)
{
regs.h.al = data;
regs.h.ah = 0;
int86(RS485, ®s, ®s);
}
// enable rs485
void rs485e(void)
{
regs.h.ah = 5;
int86(RS485, ®s, ®s);
}
// disable rs485
void rs485d(void)
{
regs.h.ah = 6;
int86(RS485, ®s, ®s);
}
// get message from host port
int getmul(char *buff, int wait)
{
do
{
regs.x.dx = (int)buff;
regs.h.ah = 0x5F; // RS485 0x5f
segread(&segregs);
intdosx(®s, &outregs, &segregs);
if (outregs.h.al == 0)
return 0;
} while(wait); // if wait eq 1 then wait data input completed
return 1;
}
// put string data to rs485 multipoint port
int putmul(char *buff, int wait)
{
do
{
inregs.x.dx = (int)buff;
inregs.h.ah = 0x60; // RS485 0x60
segread(&segregs);
intdosx(&inregs, &outregs, &segregs);
if (outregs.h.al == 0)
return 0;
} while (wait); // if wait eq 1 then wait data output completed
return 1;
}
// check multipoint to ready or not
int chkmul(void)
{
inregs.h.ah = 0x61; // RS485 0x61
intdos(&inregs, &outregs);
// put in RS485 buff
if(outregs.h.al != 0)
return 1;
return 0;
}
void setbar1(int st)
{
inregs.h.ah = 0x51; // ENABLE BARCODE PORT
inregs.h.al = st; // 0: disable, 1: enable
intdos(&inregs, &outregs);
}
void setbar2(int st)
{
inregs.h.ah = 0x53; // ENABLE BADGE PORT
inregs.h.al = st; // 0: disable, 1: enable
intdos(&inregs, &outregs);
}
int getbar1(char *buff, int wait, int *dir)
{
do
{
inregs.x.dx = (int)buff; // get barcode data from here
inregs.h.ah = 0x50;
segread(&segregs);
intdosx(&inregs, &outregs, &segregs);
if(outregs.h.al == 0)
{
*dir = outregs.h.cl;
return 0;
}
} while (wait); // if wait eq 1 then wait data output completed
return 1;
}
int getbar2(char *buff, int wait, int *dir)
{
do
{
inregs.x.dx = (int)buff; // get badge data from here
inregs.h.ah = 0x52;
segread(&segregs);
intdosx(&inregs, &outregs, &segregs);
if(outregs.h.al == 0)
{
*dir = outregs.h.cl;
return 0;
}
} while (wait); // if wait eq 1 then wait data output completed
return 1;
}
--------------7D6A2A1C367F--
--OAA15128.834148990/trantor.tempr.cz--
More information about the Smajlik
mailing list