#ifndef CLIB_SWAZBLANKER_PROTOS_H
#define CLIB_SWAZBLANKER_PROTOS_H
/*
**      $Filename: clib/swazblanker_protos.h $
**      $Release: 2.5 $
**      $Revision: 41.0 $
**
**      C prototypes.
**
**      (C) Copyright 1994 David Swasbrook
**      All Rights Reserved
*/

#ifndef  EXEC_TYPES_H
#include <exec/types.h>
#endif

#ifndef  DOS_DOS_H
#include <dos/dos.h>
#endif

BOOL	SB_ServerMasterSetUpTagList( struct TagItem *Tags);
BOOL	SB_ServerMasterSetUpTags( unsigned long tag1Type, ...);
void	SB_ServerMasterCleanUp(void);
struct Task *SB_CreateBlankerTask( APTR entry, BPTR seglist, STRPTR name, ULONG stack);
void	SB_KillBlankerTask(struct Task *task);
void	SB_PingBlankerScreen(void);

APTR	SB_LockSBBase( ULONG Mode, ULONG Flags);
void	SB_UnLockSBBase( APTR Lock );
ULONG	SB_SetBaseVarTagList( struct TagItem *TagList );
ULONG	SB_SetBaseVarTags( unsigned long tag1Type, ...);
ULONG	SB_GetBaseVarTagList( struct TagItem *TagList );
ULONG	SB_GetBaseVarTags( unsigned long tag1Type, ...);

void	SB_SetBlankerScreen(struct Screen *sc, struct Window *w);
void	SB_ClrBlankerScreen(struct Screen *sc, struct Window *w);
void	SB_BlankerReady(void);
ULONG	SB_FrontScreenModeID(void);
struct BlankerInfo *SB_BlankerInfoTagList( STRPTR filename, struct TagItem *Tags);
struct BlankerInfo *SB_BlankerInfoTags( STRPTR filename, unsigned long tag1Type, ...);
void	SB_FreeBlankerInfo( struct BlankerInfo *blankerinfo);
BOOL	SB_CloneFrontScreenTagList( struct Screen **sc, struct Window **win, struct TagItem *Tags );
BOOL	SB_CloneFrontScreenTags( struct Screen **sc, struct Window **win, unsigned long tag1Type, ...);
struct Screen *SB_OpenScreenTagList( struct TagItem *tags );
struct Screen *SB_OpenScreenTags( unsigned long tag1Type, ...);
struct Window *SB_OpenWindowTagList( struct TagItem *tags );
struct Window *SB_OpenWindowTags( unsigned long tag1Type, ...);
struct SBCopper *SB_OpenCopperTagList( struct Screen *sc, struct TagItem *Tags);
struct SBCopper *SB_OpenCopperTags( struct Screen *sc, unsigned long tag1Type, ...);
void	SB_CloseCopper( struct SBCopper *SBC);
void	SB_ResetCopper( struct SBCopper *SBC);
struct BlankerPrefsNode *SB_AddPrefsTaskTagList( STRPTR name, struct TagItem *Tags);
struct BlankerPrefsNode *SB_AddPrefsTaskTags( STRPTR name, unsigned long tag1Type, ...);
void	SB_RemPrefsTask(struct BlankerPrefsNode *bpn);
APTR	SB_GotoBlankerHomeDir(void);
void	SB_ReturnBlankerHomeDir(APTR lock);
struct SBMessage * SB_BecomeBlankerTaskTagList(struct TagItem *Tags);
struct SBMessage * SB_BecomeBlankerTaskTags( unsigned long tag1Type, ...);
void	SB_BecomeBlankerTaskEnd( APTR lock );
BOOL	SB_ModeSupportsCopper( ULONG DisplayID );
struct SBColorCyc *SB_OpenColorCycleTagList( struct Screen *Screen, struct TagItem *Tags );
struct SBColorCyc *SB_OpenColorCycleTags( struct Screen *Screen, unsigned long tag1Type, ...);
void	SB_CloseColorCycle( struct SBColorCyc *ColorCyc );
void	SB_ResetColorCycle( struct SBColorCyc *ColorCyc );
APTR	SB_HelpTagList( STRPTR filename, struct Window *win, struct TagItem *Tags);
APTR	SB_HelpTags( STRPTR filename, struct Window *win, unsigned long tag1Type, ...);
void	SB_HelpClose( APTR sbhelp );
void	SB_CloseAllPrefsTasks(void);
void	SB_SetCopperTagList(struct SBCopper *SBCopper, struct TagItem *Tags);
void	SB_SetCopperTags(struct SBCopper *SBCopper, unsigned long tag1Type, ...);
#endif  /* CLIB_SWAZBLANKER_PROTOS_H */
