home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Club Amiga de Montreal - CAM
/
CAM_CD_1.iso
/
files
/
240.lha
/
PickPacket_v1.0
/
Sources
/
PickPack.h
< prev
next >
Wrap
C/C++ Source or Header
|
1989-05-04
|
7KB
|
200 lines
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *\
* |_o_o|\\ Copyright (c) 1989 The Software Distillery. *
* |. o.| || All Rights Reserved *
* | . | || Written by John Toebes and Doug Walker *
* | o | || The Software Distillery *
* | . |// 235 Trillingham Lane *
* ====== Cary, NC 27513 *
* BBS:(919)-471-6436 *
\* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#include <exec/types.h>
#include <exec/memory.h>
#include <intuition/intuition.h>
#include <graphics/gfxmacros.h>
#include <graphics/rastport.h>
#include <libraries/dos.h>
#include <workbench/startup.h>
#include <proto/intuition.h>
#include <proto/dos.h>
#include <proto/exec.h>
#include <proto/graphics.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef DEBUG
#undef DEBUG
#endif
#if 0
#define DEBUG 1
extern int debug;
#define BUG(n,a) if(debug>=(n)){printf a ; fflush(stdout);}
#else
#define BUG(n,a) ;
#endif
/* my version of BADDR() has no problems with casting */
#undef BADDR
#define BADDR(x) ((APTR)((long)x << 2))
#define MKBADDR(x) ((BPTR)((long)x >> 2))
#define GAD_UNKNOWN 1 /* The PW default */
#define GAD_ARG1 2
#define GAD_ARG2 3
#define GAD_ARG3 4
#define GAD_ARG4 5
#define GAD_STR1 6
#define GAD_STR2 7
#define GAD_STR3 8
#define GAD_STR4 9
#define GAD_DEVICE 10
#define GAD_SEND 11
#define GAD_PREV 12
#define GAD_NEXT 13
#define GAD_HANDLE 14
#define GAD_FILEINFO 15
#define GAD_INFODATA 16
#define GAD_BUFFER 17
#define GAD_DEBUG 18
#define GAD_BUFLEN 19
#define GAD_BLOK 20
#define GAD_BLCAN 21
#define GAD_DOWN 22
#define GAD_SLIDER 23 /* THis must be the middle of GAD_DOWN/GAD_UP */
#define GAD_UP 24 /* To do a subtraction to get the direction */
#define SEL_OPENINPUT 1
#define SEL_OPENOUTPUT 2
#define SEL_OPENUPDATE 3
#define SEL_READ 4
#define SEL_WRITE 5
#define SEL_SEEK 6
#define SEL_CLOSE 7
#define SEL_TRUNCATE 8
#define SEL_LOCK 9
#define SEL_DUPLOCK 10
#define SEL_UNLOCK 11
#define SEL_EXAMINE 12
#define SEL_EXNEXT 13
#define SEL_CREATEDIR 14
#define SEL_DELETE 15
#define SEL_RENAME 16
#define SEL_PARENT 17
#define SEL_SETPROTECT 18
#define SEL_SETCOMMENT 19
#define SEL_SETDATE 20
#define SEL_CURRENTVOL 21
#define SEL_INFO 22
#define SEL_DISKINFO 23
#define SEL_RENAMEDISK 24
#define SEL_DIE 25
#define SEL_FLUSH 26
#define SEL_MORECACHE 27
#define SEL_INHIBIT 28
#define SEL_WRITE_PROTECT 29
#define SEL_NETWORKHELLO 30
#define SEL_DEBUG 31
#define SEL_SETTRANS 32
#define SEL_LASTPACKET 32
#define SEL_HANDLE (SEL_LASTPACKET+1)
#define SEL_FILEINFO (SEL_LASTPACKET+2)
#define SEL_INFODATA (SEL_LASTPACKET+3)
#define SEL_BUFFER (SEL_LASTPACKET+4)
#define SEL_PURGE (SEL_LASTPACKET+5)
#define SEL_QUIT (SEL_LASTPACKET+6)
#define SEL_HELP (SEL_LASTPACKET+7)
#define SEL_SEND (SEL_LASTPACKET+8)
#define SEL_MIN2 (SEL_LASTPACKET+9)
#define SEL_MIN1 (SEL_LASTPACKET+10)
#define SEL_ZERO (SEL_LASTPACKET+11)
#define SEL_ONE (SEL_LASTPACKET+12)
#ifndef ACTION_NETWORK_HELLO
#define ACTION_NETWORK_HELLO 2012
#endif
#ifndef ACTION_HANDLER_DEBUG
#define ACTION_HANDLER_DEBUG 2010
#endif
#ifndef ACTION_SET_TRANS
#define ACTION_SET_TRANS 2011
#endif
extern struct Menu Menu1;
extern struct TextAttr TOPAZ80;
/* Types for the Arg1-4 and Res1-2 fields */
#define STR 1 /* Text string */
#define FLG 2 /* Boolean flag */
#define LCK 3 /* BPTR to a struct FileLock */
#define HAN 4 /* BPTR to a struct FileHandle */
#define FIB 5 /* BPTR to a struct FileInfoBlock */
#define AG1 6 /* Arg1 from a struct FileHandle */
#define INF 7 /* BPTR to a struct InfoData */
#define NUM 8 /* Integer */
#define VOL 9 /* BPTR to a volume node */
#define RCNUM 10 /* Return code value */
#define BUF 11 /* BPTR to a data buffer */
/* return codes */
#define RC_OK 0 /* Normal completion */
#define RC_ERRNOMEM -1 /* Out of memory */
#define RC_ERRNOWIND -2 /* Couldn't open window */
#define RC_ERRBADTYPE -3 /* Bad struct TYPE code specified */
#define RC_ERRNOTINLIST -4 /* Supplied struct is not in struct list */
#define RC_UNLINKED -5 /* Tried to act on an unlinked window */
#define RC_ERRBADPACKET -6 /* Bad packet type specified */
#define RC_ERRNODEVICE -7 /* DeviceProc returned NULL */
#define RC_ERRBADDATA -8 /* Bad data value in Argn field */
/* The following are struct types to be passed to the struct routines */
#define ST_UNLINKED -1 /* Struct has been unlinked, don't use it */
#define ST_DATA 0 /* Data buffer */
#define ST_VIEW 1 /* File viewer */
#define ST_INTER 2 /* One bigger than the last interactive one */
#define ST_FIB 2 /* struct FileInfoBlock */
#define ST_HANDLE 3 /* struct FileHandle */
#define ST_LOCK 4 /* struct FileLock */
#define ST_INFO 5 /* struct InfoData */
#define ST_NUM 6 /* One bigger than last one defined above */
#define HELPFILE "PickPack.Doc"
extern struct Window *Window;
/* The following are defined in struct.c */
int InitST(struct MsgPort *);
int TermST(void);
struct Window *AllocST(int, APTR, int);
int DisplayST(struct Window *);
void MoveWind(struct Window *, int);
int UnlinkST(struct Window *);
int PurgeST(void);
int NameST(struct Window *, char *, struct MsgPort *);
int WindSize(struct Window *);
APTR WindToST(struct Window *);
struct Window *STToWind(APTR);
APTR FindST(char *, int);
/* The following is from sendpkt.c */
LONG sendpkt(struct MsgPort *, long, long*, long, long*);
/* The following is from pickpack.c */
void status(char *);
/* The following is from request.c */
int reqinit(void);
int reqkill(void);
/* The following is from help.c */
int GetHelp(char **, int *);
int CountLines(char *, int);
/* The following is from date.c */
void FormatDate(struct DateStamp *, char *);