open-src/app/xlock/sun-src/xlock.h
author Alan Coopersmith <Alan.Coopersmith@Sun.COM>
Thu, 18 Feb 2010 16:03:08 -0800
changeset 907 3c35d611cdaa
parent 546 f3f84c886c69
child 919 425233ae7236
permissions -rw-r--r--
6927784 Remove SCCS ident tags from X gate
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
546
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     1
/*
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     2
 * Copyright (c) 1988-91 by Patrick J. Naughton.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     3
 *
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     4
 * Permission to use, copy, modify, and distribute this software and its
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     5
 * documentation for any purpose and without fee is hereby granted,
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     6
 * provided that the above copyright notice appear in all copies and that
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     7
 * both that copyright notice and this permission notice appear in
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     8
 * supporting documentation.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
     9
 *
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    10
 * This file is provided AS IS with no warranties of any kind.  The author
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    11
 * shall have no liability with respect to the infringement of copyrights,
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    12
 * trade secrets or any patents by this file or any part thereof.  In no
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    13
 * event will the author be liable for any lost revenue or profits or
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    14
 * other special, indirect and consequential damages.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    15
 */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    16
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    17
/*
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    18
 * Copyright 2003 Sun Microsystems, Inc.  All rights reserved.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    19
 * Use is subject to license terms.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    20
 *
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    21
 * Permission is hereby granted, free of charge, to any person obtaining a
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    22
 * copy of this software and associated documentation files (the
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    23
 * "Software"), to deal in the Software without restriction, including
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    24
 * without limitation the rights to use, copy, modify, merge, publish,
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    25
 * distribute, and/or sell copies of the Software, and to permit persons
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    26
 * to whom the Software is furnished to do so, provided that the above
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    27
 * copyright notice(s) and this permission notice appear in all copies of
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    28
 * the Software and that both the above copyright notice(s) and this
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    29
 * permission notice appear in supporting documentation.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    30
 *
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    31
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    32
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    33
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    34
 * OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    35
 * HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    36
 * INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    37
 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    38
 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    39
 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    40
 *
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    41
 * Except as contained in this notice, the name of a copyright holder
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    42
 * shall not be used in advertising or otherwise to promote the sale, use
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    43
 * or other dealings in this Software without prior written authorization
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    44
 * of the copyright holder.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    45
 */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    46
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    47
/*-
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    48
 *
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    49
 * xlock.h - external interfaces for new modes and SYSV OS defines.
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    50
 */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    51
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    52
#include <X11/Xlib.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    53
#include <X11/Xutil.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    54
#include <X11/Xos.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    55
#include <stdlib.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    56
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    57
#define MAXSCREENS 16
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    58
#define NUMCOLORS 64
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    59
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    60
typedef struct {
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    61
    GC          gc;		/* graphics context for animation */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    62
    int         npixels;	/* number of valid entries in pixels */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    63
    u_long      pixels[NUMCOLORS];	/* pixel values in the colormap */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    64
}           perscreen;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    65
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    66
extern perscreen Scr[MAXSCREENS];
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    67
extern Display *dsp;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    68
extern int  screen;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    69
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    70
extern char *ProgramName;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    71
extern char *display;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    72
extern char *mode;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    73
extern char *fontname;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    74
extern char *background;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    75
extern char *foreground;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    76
extern char *text_name;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    77
extern char *text_pass;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    78
extern char *text_info;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    79
extern char *text_valid;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    80
extern char *text_invalid;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    81
extern float saturation;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    82
extern int  nicelevel;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    83
extern int  delay;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    84
extern int  batchcount;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    85
extern int  reinittime;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    86
extern int  timeout;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    87
extern Bool usefirst;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    88
extern Bool mono;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    89
extern Bool nolock;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    90
extern Bool allowroot;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    91
extern Bool enablesaver;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    92
extern Bool allowaccess;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    93
extern Bool echokeys;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    94
extern Bool verbose;
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    95
extern void (*callback) ();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    96
extern void (*init) ();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    97
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    98
extern void GetResources();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
    99
extern void hsbramp();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   100
extern void error();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   101
extern long seconds();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   102
extern void usage();
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   103
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   104
/* System V Release 4 redefinitions of BSD functions and structures */
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   105
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   106
#ifdef SYSV
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   107
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   108
#include <sys/time.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   109
#include <poll.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   110
#include <shadow.h>
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   111
/*
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   112
#define srandom srand
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   113
#define random rand
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   114
#define MAXRAND (32767.0)
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   115
*/
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   116
#define MAXRAND (2147483648.0)
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   117
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   118
#else
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   119
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   120
#define MAXRAND (2147483648.0)
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   121
f3f84c886c69 6741687 Port xlock to open src tree
Mahmood Ali <Mahmood.Ali@Sun.COM>
parents:
diff changeset
   122
#endif