]> git.sesse.net Git - rdpsrv/blob - Xserver/lib/font/Speedo/reset.c
Support RDP5 logon packets.
[rdpsrv] / Xserver / lib / font / Speedo / reset.c
1 /* $XConsortium: reset.c,v 1.2 91/05/11 09:53:59 rws Exp $ */
2
3 /*
4
5 Copyright 1989-1991, Bitstream Inc., Cambridge, MA.
6 You are hereby granted permission under all Bitstream propriety rights to
7 use, copy, modify, sublicense, sell, and redistribute the Bitstream Speedo
8 software and the Bitstream Charter outline font for any purpose and without
9 restrictions; provided, that this notice is left intact on all copies of such
10 software or font and that Bitstream's trademark is acknowledged as shown below
11 on all unmodified copies of such font.
12
13 BITSTREAM CHARTER is a registered trademark of Bitstream Inc.
14
15
16 BITSTREAM INC. DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
17 WITHOUT LIMITATION THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
18 PARTICULAR PURPOSE.  BITSTREAM SHALL NOT BE LIABLE FOR ANY DIRECT OR INDIRECT
19 DAMAGES, INCLUDING BUT NOT LIMITED TO LOST PROFITS, LOST DATA, OR ANY OTHER
20 INCIDENTAL OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR IN ANY WAY CONNECTED
21 WITH THE SPEEDO SOFTWARE OR THE BITSTREAM CHARTER OUTLINE FONT.
22
23 */
24
25
26
27 /******************************* R E S E T . C *******************************
28  *                                                                           *
29  * This module provides initialization functions.                            *
30  *                                                                           *
31  ****************************************************************************/
32
33 #include "spdo_prv.h"               /* General definitions for Speedo     */
34 #include "keys.h"                /* Font decryption keys */
35
36 #define   DEBUG      0
37
38 #if DEBUG
39 #include <stdio.h>
40 #define SHOW(X) printf("X = %d\n", X)
41 #else
42 #define SHOW(X)
43 #endif
44
45 /***** GLOBAL VARIABLES *****/
46
47 /*****  GLOBAL FUNCTIONS *****/
48
49 /***** EXTERNAL VARIABLES *****/
50
51 /***** EXTERNAL FUNCTIONS *****/
52
53 /***** STATIC VARIABLES *****/
54
55 /***** STATIC FUNCTIONS *****/
56
57 \f
58 FUNCTION void reset()
59 GDECL
60 /*
61  * Called by the host software to intialize the Speedo mechanism
62  */
63 {
64 sp_globals.specs_valid = FALSE;            /* Flag specs not valid */
65
66 /* Reset decryption key */
67 sp_globals.key32 = (KEY3 << 8) | KEY2;
68 sp_globals.key4 = KEY4;
69 sp_globals.key6 = KEY6;
70 sp_globals.key7 = KEY7;
71 sp_globals.key8 = KEY8;
72
73 #if INCL_RULES
74 sp_globals.constr.font_id_valid = FALSE;
75 #endif
76
77 #if INCL_MULTIDEV
78 #if INCL_BLACK || INCL_SCREEN || INCL_2D
79 sp_globals.bitmap_device_set = FALSE;
80 #endif
81 #if INCL_OUTLINE
82 sp_globals.outline_device_set = FALSE;
83 #endif
84 #endif
85 }
86 \f
87 #if INCL_KEYS
88 FUNCTION void set_key(key)
89 GDECL
90 ufix8 key[];         /* Specified decryption key */
91 /*
92  * Dynamically sets font decryption key.
93  */
94 {
95 sp_globals.key32 = ((ufix16)key[3] << 8) | key[2];
96 sp_globals.key4 = key[4];
97 sp_globals.key6 = key[6];
98 sp_globals.key7 = key[7];
99 sp_globals.key8 = key[8];
100 }
101 #endif
102
103
104 \f\f
105 FUNCTION ufix16 get_cust_no(font_buff)
106 GDECL
107 buff_t font_buff;
108 /*
109         returns customer number from font 
110 */
111
112 ufix8 FONTFAR *hdr2_org;
113 ufix16 private_off;
114
115 private_off = read_word_u(font_buff.org + FH_HEDSZ);
116 if (private_off + FH_CUSNR > font_buff.no_bytes)
117         {
118         report_error(1);           /* Insufficient font data loaded */
119     return FALSE;
120     }
121
122 hdr2_org = font_buff.org + private_off;
123
124 return (read_word_u(hdr2_org + FH_CUSNR));
125 }
126
127