2001-02-19 21:15:25 +00:00
|
|
|
/*
|
|
|
|
link.h
|
|
|
|
|
|
|
|
(description)
|
|
|
|
|
|
|
|
Copyright (C) 1996-1997 Id Software, Inc.
|
|
|
|
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
|
|
modify it under the terms of the GNU General Public License
|
|
|
|
as published by the Free Software Foundation; either version 2
|
|
|
|
of the License, or (at your option) any later version.
|
|
|
|
|
|
|
|
This program 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 General Public License for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
|
|
along with this program; if not, write to:
|
|
|
|
|
|
|
|
Free Software Foundation, Inc.
|
|
|
|
59 Temple Place - Suite 330
|
|
|
|
Boston, MA 02111-1307, USA
|
|
|
|
|
|
|
|
$Id$
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _LINK_H
|
|
|
|
#define _LINK_H
|
|
|
|
|
|
|
|
// (type *)STRUCT_FROM_LINK(link_t *link, type, member)
|
|
|
|
// ent = STRUCT_FROM_LINK(link,entity_t,order)
|
|
|
|
// FIXME: remove this mess!
|
2007-04-04 07:48:14 +00:00
|
|
|
#define STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (intptr_t)&(((t *)0)->m)))
|
2001-02-19 21:15:25 +00:00
|
|
|
|
|
|
|
typedef struct link_s
|
|
|
|
{
|
|
|
|
struct link_s *prev, *next;
|
|
|
|
} link_t;
|
|
|
|
|
|
|
|
void ClearLink (link_t *l);
|
|
|
|
void RemoveLink (link_t *l);
|
|
|
|
void InsertLinkBefore (link_t *l, link_t *before);
|
|
|
|
void InsertLinkAfter (link_t *l, link_t *after);
|
|
|
|
|
|
|
|
#endif // _LINK_H
|