root/usr/src/lib/libeti/panel/inc/panel.h
/*
 * CDDL HEADER START
 *
 * The contents of this file are subject to the terms of the
 * Common Development and Distribution License, Version 1.0 only
 * (the "License").  You may not use this file except in compliance
 * with the License.
 *
 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
 * or http://www.opensolaris.org/os/licensing.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL HEADER in each
 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
 * If applicable, add the following below this CDDL HEADER, with the
 * fields enclosed by brackets "[]" replaced with your own identifying
 * information: Portions Copyright [yyyy] [name of copyright owner]
 *
 * CDDL HEADER END
 */
/*      Copyright (c) 1988 AT&T */
/*        All Rights Reserved   */


#ifndef _PANEL_H
#define _PANEL_H

#include <curses.h>

#ifdef  __cplusplus
extern "C" {
#endif

typedef struct _obscured_list
        {
                struct PANEL    *panel_p;
                int     start, end;
                struct _obscured_list   *next;
        } _obscured_list;

typedef struct PANEL
        {
                WINDOW  *win;
                int     wstarty;
                int     wendy;
                int     wstartx;
                int     wendx;
                struct _obscured_list   *obscured;
                struct PANEL    *below, *above;
                char    *user;
        } PANEL;

#ifdef __STDC__

extern PANEL *new_panel(WINDOW *);
extern int del_panel(PANEL *);
extern int hide_panel(PANEL *);
extern int show_panel(PANEL *);
extern int panel_hidden(PANEL *);
extern int move_panel(PANEL *, int, int);
extern int replace_panel(PANEL *, WINDOW *);
extern int top_panel(PANEL *);
extern int bottom_panel(PANEL *);
extern void update_panels(void);
extern WINDOW *panel_window(PANEL *);
extern int set_panel_userptr(PANEL *, char *);
extern char *panel_userptr(PANEL *);
extern PANEL *panel_above(PANEL *);
extern PANEL *panel_below(PANEL *);

#else   /* old style extern's */

extern PANEL *new_panel();
extern int del_panel();
extern int hide_panel();
extern int show_panel();
extern int panel_hidden();
extern int move_panel();
extern int replace_panel();
extern int top_panel();
extern int bottom_panel();
extern void update_panels();
extern WINDOW *panel_window();
extern int set_panel_userptr();
extern char *panel_userptr();
extern PANEL *panel_above();
extern PANEL *panel_below();

#endif  /* __STDC__ */

#ifdef  __cplusplus
}
#endif

#endif  /* _PANEL_H */