#include <string.h>
#include <exec/types.h>
#include <proto/exec.h>
#include "nl.h"

/*------------------------------------------------------------------------*/
// A "real" application should look it up in some config!

#define NODELISTDIR	"Nodelist:"

/*-------------------------------------------------------------------------*/
extern void printf(char *,...);
extern void puts(char *);
extern void exit(int);

void main(void);

/*------------------------------------------------------------------------*/
struct Library *NodelistBase;

/*-------------------------------------------------------------------------*/
BOOL call_me(Addr *addr, Extra xtra)
	{
	char *pwd, *opwd;

	if(opwd = pwd = ExtraFindLock(xtra, addr, ID_PASS, NULL))
		{
		if(*pwd == 0xa0)
			pwd = "--NONE--";

		printf("  %ld:%ld/%ld.%ld\t: %s\n",
			addr->Zone, addr->Net, addr->Node, addr->Point,  pwd);

		ExtraUnlockTag(xtra, opwd);
		}

	return TRUE;
	}

/*-------------------------------------------------------------------------*/
void main()
	{
	Extra xtra;

	if(!(NodelistBase = OpenLibrary(TRAPLIST_NAME, TRAPLIST_VER)))
		{
		printf("Can't open library\n");
		exit(5);
		}

	/* First, open the Extra database */

	if((xtra = ExtraOpen(NODELISTDIR)))
		{
		puts("   Node     \t: Password");
		puts("  ------------------------");
		printf("\nTotal %ld nodes in database\n",
				 ExtraEnumNode(xtra, call_me, xtra));

		ExtraClose(xtra);
		}
	else	
		puts("Extra won't open for me [holidays?]");

	CloseLibrary(NodelistBase);
	}

/*-------------------------------------------------------------------------*/
/* ID: 10.1@1651  Last Changed: 10 Sep 1992 17:34:29 by max */
