Home | History | Annotate | Line # | Download | only in lisp
      1 /*
      2  * Copyright (c) 2001 by The XFree86 Project, Inc.
      3  *
      4  * Permission is hereby granted, free of charge, to any person obtaining a
      5  * copy of this software and associated documentation files (the "Software"),
      6  * to deal in the Software without restriction, including without limitation
      7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
      8  * and/or sell copies of the Software, and to permit persons to whom the
      9  * Software is furnished to do so, subject to the following conditions:
     10  *
     11  * The above copyright notice and this permission notice shall be included in
     12  * all copies or substantial portions of the Software.
     13  *
     14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     17  * THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     18  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
     19  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     20  * SOFTWARE.
     21  *
     22  * Except as contained in this notice, the name of the XFree86 Project shall
     23  * not be used in advertising or otherwise to promote the sale, use or other
     24  * dealings in this Software without prior written authorization from the
     25  * XFree86 Project.
     26  *
     27  * Author: Paulo Csar Pereira de Andrade
     28  */
     29 
     30 /* $XFree86: xc/programs/xedit/lisp/struct.h,v 1.6tsi Exp $ */
     31 
     32 #ifndef Lisp_struct_h
     33 #define Lisp_struct_h
     34 
     35 #include "lisp/private.h"
     36 
     37 /*
     38  * Defines
     39  */
     40 #define XSTRUCTP(object)	((object)->type == LispStruct_t)
     41 #define STRUCTP(object)		(POINTERP(object) && XSTRUCTP(object))
     42 #define STRUCT(fields, def)	LispNewStruct(fields, def)
     43 
     44 /*
     45  * Prototypes
     46  */
     47 LispObj *Lisp_Defstruct(LispBuiltin*);
     48 LispObj *Lisp_XeditMakeStruct(LispBuiltin*);
     49 LispObj *Lisp_XeditStructAccess(LispBuiltin*);
     50 LispObj *Lisp_XeditStructStore(LispBuiltin*);
     51 LispObj *Lisp_XeditStructType(LispBuiltin*);
     52 
     53 #endif /* Lisp_struct_h */
     54