Blame lib/Xm/CallbackI.h

Packit b099d7
/* 
Packit b099d7
 * Motif
Packit b099d7
 *
Packit b099d7
 * Copyright (c) 1987-2012, The Open Group. All rights reserved.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are free software; you can
Packit b099d7
 * redistribute them and/or modify them under the terms of the GNU
Packit b099d7
 * Lesser General Public License as published by the Free Software
Packit b099d7
 * Foundation; either version 2 of the License, or (at your option)
Packit b099d7
 * any later version.
Packit b099d7
 *
Packit b099d7
 * These libraries and programs are distributed in the hope that
Packit b099d7
 * they will be useful, but WITHOUT ANY WARRANTY; without even the
Packit b099d7
 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
Packit b099d7
 * PURPOSE. See the GNU Lesser General Public License for more
Packit b099d7
 * details.
Packit b099d7
 *
Packit b099d7
 * You should have received a copy of the GNU Lesser General Public
Packit b099d7
 * License along with these librararies and programs; if not, write
Packit b099d7
 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Packit b099d7
 * Floor, Boston, MA 02110-1301 USA
Packit b099d7
 */ 
Packit b099d7
/* 
Packit b099d7
 * HISTORY
Packit b099d7
 */ 
Packit b099d7
/*   $XConsortium: CallbackI.h /main/8 1995/07/14 10:13:23 drk $ */
Packit b099d7
/* (c) Copyright 1989, 1990  DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. */
Packit b099d7
/* (c) Copyright 1987, 1988, 1989, 1990, 1991, 1992 HEWLETT-PACKARD COMPANY */
Packit b099d7
/* (c) Copyright 1988 MASSACHUSETTS INSTITUTE OF TECHNOLOGY  */
Packit b099d7
/* (c) Copyright 1988 MICROSOFT CORPORATION */
Packit b099d7
#ifndef _XmCallbackI_h
Packit b099d7
#define _XmCallbackI_h
Packit b099d7
Packit b099d7
#include "XmI.h"
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
extern "C" {
Packit b099d7
#endif
Packit b099d7
Packit b099d7
Packit b099d7
#define _XtCBCalling		1
Packit b099d7
#define _XtCBFreeAfterCalling	2
Packit b099d7
Packit b099d7
/* The internal callback list is a little header followed by an array of
Packit b099d7
 * XtCallbackRec structs.  Declaring the first element of the array with 
Packit b099d7
 * the header allows the compiler to take care of any alignment required.
Packit b099d7
 */
Packit b099d7
typedef struct internalCallbackRec {
Packit b099d7
  unsigned short count;
Packit b099d7
  char           is_padded;	/* contains NULL padding for external form */
Packit b099d7
  char           call_state;	/* combination of _XtCB{FreeAfter}Calling */
Packit b099d7
  XtCallbackRec  callbacks;	/* first XtCallback record declared here */
Packit b099d7
} InternalCallbackRec, *InternalCallbackList;
Packit b099d7
Packit b099d7
Packit b099d7
/********    Private Function Declarations    ********/
Packit b099d7
Packit b099d7
extern void _XmAddCallback(InternalCallbackList *callbacks,
Packit b099d7
			   XtCallbackProc callback,
Packit b099d7
			   XtPointer closure);
Packit b099d7
extern void _XmRemoveCallback(InternalCallbackList *callbacks,
Packit b099d7
			      XtCallbackProc callback,
Packit b099d7
			      XtPointer closure);
Packit b099d7
extern void _XmCallCallbackList(Widget widget,
Packit b099d7
				XtCallbackList callbacks,
Packit b099d7
				XtPointer call_data);
Packit b099d7
extern void _XmRemoveAllCallbacks(InternalCallbackList *callbacks);
Packit b099d7
Packit b099d7
/********    End Private Function Declarations    ********/
Packit b099d7
Packit b099d7
Packit b099d7
#ifdef __cplusplus
Packit b099d7
}  /* Close scope of 'extern "C"' declaration which encloses file. */
Packit b099d7
#endif
Packit b099d7
Packit b099d7
#endif /* _XmCallbackI_h */
Packit b099d7
/* DON'T ADD STUFF AFTER THIS #endif */