xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

Configint.h (7980B)


      1 /*
      2  *
      3  * Copyright (c) 1997  Metro Link Incorporated
      4  *
      5  * Permission is hereby granted, free of charge, to any person obtaining a
      6  * copy of this software and associated documentation files (the "Software"),
      7  * to deal in the Software without restriction, including without limitation
      8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
      9  * and/or sell copies of the Software, and to permit persons to whom the
     10  * Software is furnished to do so, subject to the following conditions:
     11  *
     12  * The above copyright notice and this permission notice shall be included in
     13  * all copies or substantial portions of the Software.
     14  *
     15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     18  * THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     19  * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
     20  * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
     21  * SOFTWARE.
     22  *
     23  * Except as contained in this notice, the name of the Metro Link shall not be
     24  * used in advertising or otherwise to promote the sale, use or other dealings
     25  * in this Software without prior written authorization from Metro Link.
     26  *
     27  */
     28 /*
     29  * Copyright (c) 1997-2002 by The XFree86 Project, Inc.
     30  *
     31  * Permission is hereby granted, free of charge, to any person obtaining a
     32  * copy of this software and associated documentation files (the "Software"),
     33  * to deal in the Software without restriction, including without limitation
     34  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
     35  * and/or sell copies of the Software, and to permit persons to whom the
     36  * Software is furnished to do so, subject to the following conditions:
     37  *
     38  * The above copyright notice and this permission notice shall be included in
     39  * all copies or substantial portions of the Software.
     40  *
     41  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     42  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     43  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     44  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
     45  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     46  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     47  * OTHER DEALINGS IN THE SOFTWARE.
     48  *
     49  * Except as contained in this notice, the name of the copyright holder(s)
     50  * and author(s) shall not be used in advertising or otherwise to promote
     51  * the sale, use or other dealings in this Software without prior written
     52  * authorization from the copyright holder(s) and author(s).
     53  */
     54 
     55 /*
     56  * These definitions are used through out the configuration file parser, but
     57  * they should not be visible outside of the parser.
     58  */
     59 
     60 #ifdef HAVE_XORG_CONFIG_H
     61 #include <xorg-config.h>
     62 #endif
     63 
     64 #ifndef _Configint_h_
     65 #define _Configint_h_
     66 
     67 #include <stdio.h>
     68 #include <string.h>
     69 #include <stdarg.h>
     70 #include <stddef.h>
     71 #include "xf86Parser.h"
     72 
     73 typedef enum { PARSE_DECIMAL, PARSE_OCTAL, PARSE_HEX } ParserNumType;
     74 
     75 typedef struct {
     76     int num;                    /* returned number */
     77     char *str;                  /* private copy of the return-string */
     78     double realnum;             /* returned number as a real */
     79     ParserNumType numType;      /* used to enforce correct number formatting */
     80 } LexRec, *LexPtr;
     81 
     82 extern LexRec xf86_lex_val;
     83 
     84 #ifndef TRUE
     85 #define TRUE 1
     86 #endif
     87 
     88 #ifndef FALSE
     89 #define FALSE 0
     90 #endif
     91 
     92 #include "configProcs.h"
     93 #include <stdlib.h>
     94 
     95 #define TestFree(a) if (a) { free ((void *) a); a = NULL; }
     96 
     97 #define parsePrologue(typeptr,typerec) typeptr ptr; \
     98 if( (ptr=calloc(1,sizeof(typerec))) == NULL ) { return NULL; }
     99 
    100 #define HANDLE_RETURN(f,func)\
    101 if ((ptr->f=func) == NULL)\
    102 {\
    103 	CLEANUP (ptr);\
    104 	return NULL;\
    105 }
    106 
    107 #define HANDLE_LIST(field,func,type)\
    108 {\
    109 type p = func ();\
    110 if (p == NULL)\
    111 {\
    112 	CLEANUP (ptr);\
    113 	return NULL;\
    114 }\
    115 else\
    116 {\
    117 	ptr->field = (type) xf86addListItem ((glp) ptr->field, (glp) p);\
    118 }\
    119 }
    120 
    121 #define Error(...) do { \
    122 		xf86parseError (__VA_ARGS__); CLEANUP (ptr); return NULL; \
    123 		   } while (0)
    124 
    125 /*
    126  * These are defines for error messages to promote consistency.
    127  * Error messages are preceded by the line number, section and file name,
    128  * so these messages should be about the specific keyword and syntax in error.
    129  * To help limit namespace pollution, end each with _MSG.
    130  * Limit messages to 70 characters if possible.
    131  */
    132 
    133 #define BAD_OPTION_MSG \
    134 "The Option keyword requires 1 or 2 quoted strings to follow it."
    135 #define INVALID_KEYWORD_MSG \
    136 "\"%s\" is not a valid keyword in this section."
    137 #define INVALID_SECTION_MSG \
    138 "\"%s\" is not a valid section name."
    139 #define UNEXPECTED_EOF_MSG \
    140 "Unexpected EOF. Missing EndSection keyword?"
    141 #define QUOTE_MSG \
    142 "The %s keyword requires a quoted string to follow it."
    143 #define NUMBER_MSG \
    144 "The %s keyword requires a number to follow it."
    145 #define POSITIVE_INT_MSG \
    146 "The %s keyword requires a positive integer to follow it."
    147 #define BOOL_MSG \
    148 "The %s keyword requires a boolean to follow it."
    149 #define ZAXISMAPPING_MSG \
    150 "The ZAxisMapping keyword requires 2 positive numbers or X or Y to follow it."
    151 #define DACSPEED_MSG \
    152 "The DacSpeed keyword must be followed by a list of up to %d numbers."
    153 #define DISPLAYSIZE_MSG \
    154 "The DisplaySize keyword must be followed by the width and height in mm."
    155 #define HORIZSYNC_MSG \
    156 "The HorizSync keyword must be followed by a list of numbers or ranges."
    157 #define VERTREFRESH_MSG \
    158 "The VertRefresh keyword must be followed by a list of numbers or ranges."
    159 #define VIEWPORT_MSG \
    160 "The Viewport keyword must be followed by an X and Y value."
    161 #define VIRTUAL_MSG \
    162 "The Virtual keyword must be followed by a width and height value."
    163 #define WEIGHT_MSG \
    164 "The Weight keyword must be followed by red, green and blue values."
    165 #define BLACK_MSG \
    166 "The Black keyword must be followed by red, green and blue values."
    167 #define WHITE_MSG \
    168 "The White keyword must be followed by red, green and blue values."
    169 #define SCREEN_MSG \
    170 "The Screen keyword must be followed by an optional number, a screen name\n" \
    171 "\tin quotes, and optional position/layout information."
    172 #define INVALID_SCR_MSG \
    173 "Invalid Screen line."
    174 #define INPUTDEV_MSG \
    175 "The InputDevice keyword must be followed by an input device name in quotes."
    176 #define INACTIVE_MSG \
    177 "The Inactive keyword must be followed by a Device name in quotes."
    178 #define UNDEFINED_SCREEN_MSG \
    179 "Undefined Screen \"%s\" referenced by ServerLayout \"%s\"."
    180 #define UNDEFINED_MODES_MSG \
    181 "Undefined Modes Section \"%s\" referenced by Monitor \"%s\"."
    182 #define UNDEFINED_DEVICE_MSG \
    183 "Undefined Device \"%s\" referenced by Screen \"%s\"."
    184 #define UNDEFINED_ADAPTOR_MSG \
    185 "Undefined VideoAdaptor \"%s\" referenced by Screen \"%s\"."
    186 #define ADAPTOR_REF_TWICE_MSG \
    187 "VideoAdaptor \"%s\" already referenced by Screen \"%s\"."
    188 #define UNDEFINED_DEVICE_LAY_MSG \
    189 "Undefined Device \"%s\" referenced by ServerLayout \"%s\"."
    190 #define UNDEFINED_INPUT_MSG \
    191 "Undefined InputDevice \"%s\" referenced by ServerLayout \"%s\"."
    192 #define NO_IDENT_MSG \
    193 "This section must have an Identifier line."
    194 #define ONLY_ONE_MSG \
    195 "This section must have only one of either %s line."
    196 #define UNDEFINED_INPUTDRIVER_MSG \
    197 "InputDevice section \"%s\" must have a Driver line."
    198 #define INVALID_GAMMA_MSG \
    199 "gamma correction value(s) expected\n either one value or three r/g/b values."
    200 #define GROUP_MSG \
    201 "The Group keyword must be followed by either a group name in quotes or\n" \
    202 "\ta numerical group id."
    203 #define MULTIPLE_MSG \
    204 "Multiple \"%s\" lines."
    205 #define MUST_BE_OCTAL_MSG \
    206 "The number \"%d\" given in this section must be in octal (0xxx) format."
    207 #define GPU_DEVICE_TOO_MANY \
    208 "More than %d GPU devices defined."
    209 
    210 /* Warning messages */
    211 #define OBSOLETE_MSG \
    212 "Ignoring obsolete keyword \"%s\"."
    213 
    214 #endif                          /* _Configint_h_ */