/* cf.h */

/* cbio.c: function prototypes */
STRPTR PrintID (LONG id, STRPTR);
LONG CBOpen ( LONG unit );
VOID CBClose ( void );
LONG CBWrite ( struct Buffer *buff );
LONG CBWriteFTXT ( STRPTR string );
LONG CBWriteA ( STRPTR stream , LONG length );
VOID CBClear (VOID);
struct Buffer *CBRead ( BOOL cook );
LONG writeLong ( LONG *ldata );

#define	CF_READ		1
#define	CF_WRITE	2
#define	CF_QUERY	3
#define	CF_NOTIFY	4
#define	CF_CLEAR	5

#define	MAKE_ID(a,b,c,d)	((a<<24L) | (b<<16L) | (c<<8L) | d)
#define	ID_FORM	MAKE_ID('F','O','R','M')
#define	ID_FTXT	MAKE_ID('F','T','X','T')
#define	ID_CHRS	MAKE_ID('C','H','R','S')

/* Return the contents of the clipboard */
struct Buffer
{
    LONG b_ClipID;		/* Clip ID of assigned to contents */
    LONG b_Type;		/* Content type of buffer */
    VOID *b_Buff;		/* Pointer to the buffer area */
    LONG b_Size;		/* Size of buffer (plus structure) */
    STRPTR b_Author;		/* Author of the buffer */
    LONG b_ASize;		/* Size of the author buffer */
    STRPTR b_Project;		/* Name of the project */
    LONG b_PSize;		/* Size of the project buffer */
};

