/* @(#)link_extern.h 1.2 95/09/16 */

/*
 * Copyright (c) 1994, 1995 by Wayne C. Gramlich.  All rights reserved.
 *
 * Permission to use, copy, modify, distribute, and sell this software
 * for any purpose is hereby granted without fee provided that the above
 * copyright notice and this permission are retained.  The author makes
 * no representations about the suitability of this software for any purpose.
 * It is provided "as is" without express or implied warranty.
 */

#if !defined(LINK_EXTERN_H)
#define LINK_EXTERN_H

#include "config_typedef.h"
#include "link_typedef.h"
#include "remote_typedef.h"
#include "str_typedef.h"
#include "url_typedef.h"
#include "vote_typedef.h"

#define LINKS_LOOP(variable, links) \
    VECTOR_LOOP(Link, variable, links)

extern Link link_create(Remote, Url, Str, Str);
extern Remote link_remote(Link);
extern Url link_href(Link);
extern Url link_vote_url(Link, Config);
extern Votes link_votes(Link);

extern void links_append(Links, Link);
extern Links links_create();
extern void links_save(Links, FILE *);
extern unsigned links_size(Links);
extern Links links_restore(Remote, FILE *, Errors);
extern void links_votes_merge(Links, Links);
extern void links_write(Links, FILE *, int, Config);

#endif /* !defined(LINK_EXTERN_H) */
