Remove DUX/OSF code
[openafs.git] / src / gtx / windows.c
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
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
8  */
9
10 /*
11  * gator_windows.c
12  *
13  * Description:
14  *      Implementation of the gator windows interface.
15  *
16  *--------------------------------------------------------------------------------*/
17
18 #include <afsconfig.h>
19 #include <afs/param.h>
20
21 #include <roken.h>
22
23 #include "gtxwindows.h"         /*Interface for this module */
24 #include "gtxcurseswin.h"       /*Interface for the curses module */
25 #include "gtxdumbwin.h"         /*Interface for the dumb terminal module */
26 #include "gtxX11win.h"          /*Interface for the X11 module */
27
28 static char mn[] = "gator_windows";     /*Module name */
29 struct gwinbaseops gwinbops;    /*Base window operation fn array */
30 struct gwin gator_basegwin;     /*Base gator window */
31
32 /*--------------------------------------------------------------------------------
33  * gw_init
34  *
35  * Description:
36  *      Initialize the gator window package.
37  *
38  * Arguments:
39  *      struct gwin_initparams *params : Ptr to initialization params.
40  *
41  * Returns:
42  *      0 on success,
43  *      Error value otherwise.
44  *
45  * Environment:
46  *      *** MUST BE THE FIRST ROUTINE CALLED FROM
47  *            THIS PACKAGE ***
48  *
49  * Side Effects:
50  *      Sets up the chosen lower-level graphics package, as well
51  *      as the base operation array (gwinbops).  Also sets up the
52  *      base window.
53  *--------------------------------------------------------------------------------*/
54
55 int
56 gw_init(struct gwin_initparams *params)
57 {                               /*gw_init */
58
59     static char rn[] = "gw_init";       /*Routine name */
60     int code;           /*Return code */
61     int gwin_debug;             /*Is debugging turned on? */
62
63     /*
64      * Remember our debugging level.
65      */
66     gwin_debug = params->i_debug;
67     if (gwin_debug)
68         fprintf(stderr, "[%s:%s] Window debugging turned on\n", mn, rn);
69
70     /*
71      * What we do/call depends on the type of lower-level graphics
72      * package we'll be using.
73      */
74     switch (params->i_type) {
75     case GATOR_WIN_DUMB:        /*Dumb terminal */
76         if (gwin_debug)
77             fprintf(stderr,
78                     "[%s:%s] Initializing for the dumb terminal package\n",
79                     mn, rn);
80         gwinbops = gator_dumb_gwinbops;
81         code = gator_dumbgwin_init(gwin_debug);
82         if (code) {
83             fprintf(stderr,
84                     "[%s:%s] Error in dumb terminal initialization routine, gator_dumbgwin_init(): %d\n",
85                     mn, rn, code);
86             return (code);
87         }
88         break;
89
90     case GATOR_WIN_CURSES:      /*Curses */
91         if (gwin_debug)
92             fprintf(stderr, "[%s:%s] Initializing for the curses package\n",
93                     mn, rn);
94         gwinbops = gator_curses_gwinbops;
95         code = gator_cursesgwin_init(gwin_debug);
96         if (code) {
97             fprintf(stderr,
98                     "[%s:%s] Error in curses initialization routine, gator_cursesgwin_init(): %d\n",
99                     mn, rn, code);
100             return (code);
101         }
102         break;
103
104     case GATOR_WIN_X11: /*X11 */
105         if (gwin_debug)
106             fprintf(stderr, "[%s:%s] Initializing for the X11 package\n", mn,
107                     rn);
108         gwinbops = gator_X11_gwinbops;
109         code = gator_X11gwin_init(gwin_debug);
110         if (code) {
111             fprintf(stderr,
112                     "[%s:%s] Error in X11 initialization routine, gator_X11gwin_init(): %d\n",
113                     mn, rn, code);
114             return (code);
115         }
116         break;
117
118     default:
119         fprintf(stderr, "[%s:%s] Illegal choice of graphics system: %d\n", mn,
120                 rn, params->i_type);
121         fprintf(stderr, "\tLegal choices are:\n");
122         fprintf(stderr, "\t\t%d: Dumb terminal\n", GATOR_WIN_DUMB);
123         fprintf(stderr, "\t\t%d: Curses\n", GATOR_WIN_CURSES);
124         fprintf(stderr, "\t\t%d: X11\n", GATOR_WIN_X11);
125         return (-1);
126     }                           /*end switch (params->i_type) */
127
128     /*
129      * Finally, return the good news.
130      */
131     return (0);
132
133 }                               /*gw_init */