#include <stdio.h>
#include <string.h>
#include <proto/exec.h>
#include <proto/dos.h>
#include <proto/intuition.h>

#include <exec/libraries.h>
#include <intuition/intuition.h>

#define wrongOS "requires OS 2.04 or higher !\n"
static unsigned char *VersTag = {"\0$VER: Pubs 1.0 (02/18/93) © by Frank Meister"};

void _CXBRK(void){}
void chkabort(void){}

void main(void)
{
extern struct DosLibrary *DOSBase;
struct IntuitionBase *IntuitionBase;
struct List *pubscreenlist;
struct PubScreenNode *pubscreennodes;
BPTR out;

if(out=Output())
	{
	if(!(((struct Library *)DOSBase)->lib_Version>=37))
			Write(out,wrongOS,strlen(wrongOS));
	else
		{
		if(IntuitionBase=(struct IntuitionBase *)OpenLibrary("intuition.library",37L))
			{
			pubscreenlist=LockPubScreenList();
			UnlockPubScreenList();
			pubscreennodes=(struct PubScreenNode *)pubscreenlist->lh_Head;
			do
				{
				FPuts(out,pubscreennodes->psn_Node.ln_Name);
				FPuts(out,"\n");
				pubscreennodes=(struct PubScreenNode *)pubscreennodes->psn_Node.ln_Succ;
				} while(pubscreennodes->psn_Node.ln_Succ);
			CloseLibrary((struct Library *)IntuitionBase);
			}
		}
	}
}
