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, &regs, &regs);

	// povolit reader

	setbar2(1);



	// vybrat COM1 jako HOST

	regs.h.ah = 0x1C;

	regs.h.al = 1;

	regs.h.bh = 0;

	int86(0x21, &regs, &regs);

	// COM1 multi protocol

	regs.h.ah = 0x1C;

	regs.h.bh = 1;

	regs.h.al = 2;

	int86(0x21, &regs, &regs);



	// 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, &regs, &regs);

}





void ErrBeep(void)

{

	// ton pri chybe - hluboky, dlouhy

	regs.x.ax = 0;

	regs.x.bx = 6;

	int86(0x3F, &regs, &regs);

}





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, &regs, &regs);

}





// set cur type 1: block, 0: underscore

void setcur(int at)

{

	regs.h.ah = 1;

	regs.h.al = at;

	int86(VIDEO, &regs, &regs);

}





// 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, &regs, &regs);

}





// output char to rs232

void rs232o(int data)

{ regs.h.al = data;

	regs.h.ah = 2;

	int86(RS232, &regs, &regs);

}





// input char from rs232

int rs232i(int *data, int wait)

{

	do

	{

		regs.h.ah = 1;

		int86(RS232, &regs, &regs);

		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, &regs, &regs);

}





// output char to rs485

void rs485o(int data)

{

	regs.h.al = data;

	regs.h.ah = 2;

	int86(RS485, &regs, &regs);

}





// input char from rs485

int rs485i(int *data, int wait)

{

	do

	{

		regs.h.ah = 1;

		int86(RS485, &regs, &regs);

		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, &regs, &regs);

}





// enable rs485

void rs485e(void)

{

	regs.h.ah = 5;

	int86(RS485, &regs, &regs);

}





// disable rs485

void rs485d(void)

{

	regs.h.ah = 6;

	int86(RS485, &regs, &regs);

}





// 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(&regs, &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