#include #ifndef WIN32 #include #endif #include #include #ifndef WIN32 #include #endif #include #include #include // Pretpostavlja se da je komunikacija 9600bps #define BAUDRATE B9600 // Interne varijable programa struct SInit { char port[255]; char portdelay[255]; char output[255]; char debug[5]; char silent[5]; char verify[5]; char speed[20]; char status[255]; } Init; // Paket odgovora printera struct ReplyPacket { char preamble; char len; char seq; char cmd; char rdata[255]; char sep; unsigned char stat[6]; char postamble; char bcc[4]; char term; } rpacket; /* GLOBALS */ struct SInit Initialize; /*Rutina za generisanje komande printeru*/ void SendForm(int fd, char seq, char cmd, char *message) { char outstring[256]; //buffer za paket unsigned int cpos; // unsigned long int checksum; //checksum paketa char oc; //pozicija u paketu int fh,status; oc=0; outstring[oc]=toascii(0x01); //1. bajt - uvek 01 oc++; outstring[oc]=toascii(0x20+3+strlen(message)+1); //2. bajt - projektovana duzina paketa oc++; if (seq>0x80) seq=seq-0x7f; //3. bajt - sekvenca, ne moze biti veci od 7fh outstring[oc]=toascii(seq); oc++; outstring[oc]=toascii(cmd); //4. bajt - komanda 20h-70h oc++; for (cpos=0;cpos