mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-14 00:40:55 +00:00
48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
|
/*
|
||
|
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!
|
||
|
#define STRUCT_FROM_LINK(l,t,m) ((t *)((byte *)l - (int)&(((t *)0)->m)))
|
||
|
|
||
|
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
|