2 * Copyright 2000, International Business Machines Corporation and others.
5 * This software has been released under the terms of the IBM Public
6 * License. For details, see the LICENSE file in the top-level source
7 * directory or online at http://www.openafs.org/dl/license10.html
14 * Implementation of the gator windows interface.
16 *--------------------------------------------------------------------------------*/
18 #include <afsconfig.h>
19 #include <afs/param.h>
24 /* On DUX "IN" is a variable in curses.h, so this can be a bit of a problem */
29 #include "gtxwindows.h" /*Interface for this module */
30 #include "gtxcurseswin.h" /*Interface for the curses module */
31 #include "gtxdumbwin.h" /*Interface for the dumb terminal module */
32 #include "gtxX11win.h" /*Interface for the X11 module */
34 static char mn[] = "gator_windows"; /*Module name */
35 struct gwinbaseops gwinbops; /*Base window operation fn array */
36 struct gwin gator_basegwin; /*Base gator window */
38 /*--------------------------------------------------------------------------------
42 * Initialize the gator window package.
45 * struct gwin_initparams *params : Ptr to initialization params.
49 * Error value otherwise.
52 * *** MUST BE THE FIRST ROUTINE CALLED FROM
56 * Sets up the chosen lower-level graphics package, as well
57 * as the base operation array (gwinbops). Also sets up the
59 *--------------------------------------------------------------------------------*/
62 gw_init(struct gwin_initparams *params)
65 static char rn[] = "gw_init"; /*Routine name */
66 register int code; /*Return code */
67 int gwin_debug; /*Is debugging turned on? */
70 * Remember our debugging level.
72 gwin_debug = params->i_debug;
74 fprintf(stderr, "[%s:%s] Window debugging turned on\n", mn, rn);
77 * What we do/call depends on the type of lower-level graphics
78 * package we'll be using.
80 switch (params->i_type) {
81 case GATOR_WIN_DUMB: /*Dumb terminal */
84 "[%s:%s] Initializing for the dumb terminal package\n",
86 gwinbops = gator_dumb_gwinbops;
87 code = gator_dumbgwin_init(gwin_debug);
90 "[%s:%s] Error in dumb terminal initialization routine, gator_dumbgwin_init(): %d\n",
96 case GATOR_WIN_CURSES: /*Curses */
98 fprintf(stderr, "[%s:%s] Initializing for the curses package\n",
100 gwinbops = gator_curses_gwinbops;
101 code = gator_cursesgwin_init(gwin_debug);
104 "[%s:%s] Error in curses initialization routine, gator_cursesgwin_init(): %d\n",
110 case GATOR_WIN_X11: /*X11 */
112 fprintf(stderr, "[%s:%s] Initializing for the X11 package\n", mn,
114 gwinbops = gator_X11_gwinbops;
115 code = gator_X11gwin_init(params);
118 "[%s:%s] Error in X11 initialization routine, gator_X11gwin_init(): %d\n",
125 fprintf(stderr, "[%s:%s] Illegal choice of graphics system: %d\n", mn,
127 fprintf(stderr, "\tLegal choices are:\n");
128 fprintf(stderr, "\t\t%d: Dumb terminal\n", GATOR_WIN_DUMB);
129 fprintf(stderr, "\t\t%d: Curses\n", GATOR_WIN_CURSES);
130 fprintf(stderr, "\t\t%d: X11\n", GATOR_WIN_X11);
132 } /*end switch (params->i_type) */
135 * Finally, return the good news.