home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Enigma Amiga Life 110
/
EnigmaAmiga110CD.iso
/
indispensabili
/
utility
/
apdf
/
xpdf-0.80
/
xpdf
/
acomm.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-06-24
|
4KB
|
236 lines
//========================================================================
//
// AComm.h
//
// Copyright 1999 Emmanuel Lesueur
//
//========================================================================
#ifndef ACOMM_H
#define ACOMM_H
#define VMAGIC 100
#define st_unchanged 0
#define st_changed 1
#define st_url 2
#define st_run 3
#ifdef POWERUP
typedef void PPCMsg;
typedef void PPCPort;
typedef void PPCPortList;
typedef void PPCTask;
#ifdef DEBUGMSG
#include <stdio.h>
#ifdef __PPC__
# define ID "PPC"
#else
# define ID "68k"
#endif
static void* myPPCGetMessage(void* p) {
void* m=PPCGetMessage(p);
if(m)
printf(ID": got msg %x (%d) at port %x\n",m,PPCGetMessageAttr(m,PPCMSGTAG_MSGID),p);
else
printf(ID": got no msg at port %x\n",p);
return m;
}
#define PPCSendMessage(p,m,d,l,i) \
(printf(ID": sending msg %x (%d) to port %x\n",m,i,p), \
PPCSendMessage(p,m,d,l,i))
#define PPCReplyMessage(m) \
(printf(ID": replying to msg %x\n",m), \
PPCReplyMessage(m))
#define PPCWaitPort(p) \
(printf(ID": waiting at port %x\n",p), \
PPCWaitPort(p))
#define PPCWaitPortList(p) \
(printf(ID": waiting for ports\n"), \
PPCWaitPortList(p))
#define PPCGetMessage(p) myPPCGetMessage(p)
#endif
struct StartupData {
void* port;
int in;
int out;
int err;
int status;
int flags;
int colors;
int id;
char gzipcmd[1];
};
struct msg_base {
int success;
/*#if DEBUGMSG
char id[40];
#endif*/
};
struct msg_create_output_dev {
struct msg_base base;
struct ColorMap* colormap;
int depth;
};
struct msg_info {
struct msg_base base;
int num_pages;
};
struct msg_pagesize {
struct msg_base base;
int page;
int width;
int height;
};
struct msg_page {
struct msg_base base;
int page_num;
int zoom;
};
struct msg_createdoc {
struct msg_base base;
long dir;
size_t cachesz;
size_t blocsz;
char filename[256];
};
struct msg_find {
struct msg_base base;
int xmin;
int xmax;
int ymin;
int ymax;
int top;
int bottom;
int page;
char str[100];
};
struct msg_chklink {
struct msg_base base;
int x;
int y;
void* action;
char str[256];
};
struct msg_dolink {
struct msg_base base;
int x;
int y;
int state;
int page;
char str[256];
};
struct msg_write {
struct msg_base base;
int first_page;
int last_page;
int zoom;
int rotate;
int type;
char filename[256];
};
struct msg_gettext {
struct msg_base base;
int xmin;
int xmax;
int ymin;
int ymax;
int size;
};
struct msg_showfonts {
struct msg_base base;
int flag;
};
struct msg_fontmap {
struct msg_base base;
char pdffont[128];
char afont[128];
int m;
int style;
int encoding;
};
struct msg_scan_fonts {
struct msg_base base;
int first_page;
int last_page;
};
union msg_max {
struct msg_create_output_dev m1;
struct msg_info m2;
struct msg_page m3;
struct msg_createdoc m4;
struct msg_find m5;
struct msg_dolink m6;
struct msg_chklink m7;
struct msg_write m8;
struct msg_gettext m9;
struct msg_showfonts m10;
struct msg_fontmap m11;
struct msg_scan_fonts m12;
};
#define MSGID_SYNC 0
#define MSGID_QUIT 1
#define MSGID_GFX 2
#define MSGID_INFO 3
#define MSGID_PAGE 4
#define MSGID_CREATEOUTPUTDEV 5
#define MSGID_DELETEOUTPUTDEV 6
#define MSGID_CREATEDOC 7
#define MSGID_DELETEDOC 8
#define MSGID_FIND 9
#define MSGID_CHKLINK 10
#define MSGID_DOLINK 11
#define MSGID_SIMPLEFIND 12
#define MSGID_WRITE 13
#define MSGID_GFXPIPE 14
#define MSGID_GFXSYNC 15
#define MSGID_GETTEXT 16
#define MSGID_SHOWFONTS 17
#define MSGID_ADDFONTMAP 18
/*#define MSGID_REMFONTMAP 19*/
#define MSGID_CLEARFONTMAP 20
/*#define MSGID_SETFONTMAP 21*/
#define MSGID_SCANFONTS 22
#define MSGID_ENDSCANFONTS 23
#define MSGID_GETFONT 24
#define MSGID_DEFAULTFONTS 25
#define MSGID_PAGESIZE 26
#define MSGID_INITFIND 27
#define MSGID_ENDFIND 28
#define MSGID_INITWRITE 29
#define MSGID_ENDWRITE 30
#define MSGID_INITSCAN 31
#endif
#endif