/***********************************************************************
 *
 *  Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
 *
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; version 2.1
 *  of the License.
 *
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *  Library Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, Novell, Inc.
 *
 *  To contact Novell about this file by physical or electronic mail,
 *  you may find current contact information at www.novell.com.
 *
 ***********************************************************************/

#ifndef __FPM_COMMON_H__
#define __FPM_COMMON_H__

// Common structure declarations...

struct Host
{
	char *hostName;
	struct HostElement *child;
	struct Host *next;
};


// Each name/value pair for the Host is represented by HostElement
struct HostElement
{
	char *name;
	char *value;
	int isPassword;
	struct HostElement *next;
};


struct RejectHost
{
	char *hostName;
	struct RejectHost *next;
};


// Error codes 

#define FPM_PROFILE_NOT_PRESENT        -101                // Specified profile does not exist
#define FPM_LIBRARY_LOAD_FAILED        -102                // Failed to load the firefox library
#define FPM_LIBRARY_INIT_FAILED        -103                // Failed to initialize firefox library
#define FPM_PROFILE_NOT_INITIALIZED    -104                // Specified profile not initialized
#define FPM_MASTERPASSWORD_WRONG       -105                // Wrong master password is specified
#define FPM_SIGNON_DATASTORE_EMPTY     -106                // Internal signon data store is empty
#define FPM_SIGNON_FILE_NOT_PRESENT    -107                // Signon file is not present in profile directory
#define FPM_SIGNON_FILE_READ_ERROR     -108                // Error in reading signon file
#define FPM_SIGNON_FILE_WRITE_ERROR    -109                // Error in writing signon file
#define FPM_SIGNON_FILE_LOCKED         -110                // Signon file is locked.
#define FPM_INSUFFICIENT_MEMORY        -111                // Insufficient memory.
#define FPM_ILLEGAL_HOSTNAME           -112                // Hostname is not in proper form
#define FPM_HOSTNAME_NOT_PRESENT       -113                // Specified hostname is not present
#define FPM_NAME_NOT_PRESENT           -114                // Specified name is not present
#define FPM_SIGNON_FILE_INVALID_DATA   -115				   // Invalid data is read from signon file     
#define FPM_PROFILE_LIMIT_EXCEEDED     -116                // Maximum number of profiles exceeded...

#endif