/*
*
* Copyright (c) 1997 Metro Link Incorporated
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
* OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*
* Except as contained in this notice, the name of the Metro Link shall not be
* used in advertising or otherwise to promote the sale, use or other dealings
* in this Software without prior written authorization from Metro Link.
*
*/
/*
* Copyright (c) 1997-2003 by The XFree86 Project, Inc.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of the copyright holder(s)
* and author(s) shall not be used in advertising or otherwise to promote
* the sale, use or other dealings in this Software without prior written
* authorization from the copyright holder(s) and author(s).
*/
#include <string.h>
#ifdef HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#endif
#include "xf86Parser.h"
#include "xf86tokens.h"
#include "Configint.h"
#include "fields.h" /* Config file output line fields */
{
{ENDSECTION, "endsection"},
{SCREEN, "screen"},
{IDENTIFIER, "identifier"},
{INACTIVE, "inactive"},
{INPUTDEVICE, "inputdevice"},
{OPTION, "option"},
{-1, ""},
};
{
{RIGHTOF, "rightof"},
{LEFTOF, "leftof"},
{ABOVE, "above"},
{BELOW, "below"},
{RELATIVE, "relative"},
{ABSOLUTE, "absolute"},
{-1, ""},
};
xf86parseLayoutSection (void)
{
int token;
{
switch (token)
{
case COMMENT:
break;
case IDENTIFIER:
break;
case INACTIVE:
{
xf86conffree (iptr);
}
}
break;
case SCREEN:
{
int absKeyword = 0;
else
}
switch (token)
{
case RIGHTOF:
break;
case LEFTOF:
break;
case ABOVE:
break;
case BELOW:
break;
case RELATIVE:
break;
case ABSOLUTE:
absKeyword = 1;
break;
case EOF_TOKEN:
break;
default:
else
}
{
case CONF_ADJ_ABSOLUTE:
if (absKeyword)
{
}
} else {
if (absKeyword) {
} else
}
break;
case CONF_ADJ_RIGHTOF:
case CONF_ADJ_LEFTOF:
case CONF_ADJ_ABOVE:
case CONF_ADJ_BELOW:
case CONF_ADJ_RELATIVE:
}
{
}
}
}
break;
case CONF_ADJ_OBSOLETE:
/* top */
/* bottom */
}
/* left */
}
/* right */
}
}
}
break;
case INPUTDEVICE:
{
}
{
}
}
break;
case OPTION:
break;
case EOF_TOKEN:
break;
default:
break;
}
}
if (!has_ident)
#ifdef DEBUG
printf ("ServerLayout section parsed\n");
#endif
return ptr;
}
void
{
while (ptr)
{
if (ptr->lay_comment)
if (ptr->lay_identifier)
{
if (aptr->adj_scrnum >= 0)
else
{
case CONF_ADJ_OBSOLETE:
break;
case CONF_ADJ_ABSOLUTE:
else
break;
case CONF_ADJ_RIGHTOF:
break;
case CONF_ADJ_LEFTOF:
break;
case CONF_ADJ_ABOVE:
break;
case CONF_ADJ_BELOW:
break;
case CONF_ADJ_RELATIVE:
break;
}
}
{
{
}
}
}
}
void
{
while (ptr)
{
xf86conffree (prev);
}
}
void
{
while (ptr)
{
xf86conffree (prev);
}
}
void
{
while (ptr)
{
xf86conffree (prev);
}
}
if (str[0] != '\0') \
{ \
if (!screen) \
{ \
return (FALSE); \
} \
else \
}
int
{
while (layout)
{
while (adj)
{
/* the first one can't be "" but all others can */
if (!screen)
{
return (FALSE);
}
else
#if 0
#endif
}
while (iptr)
{
p->conf_device_lst);
if (!device)
{
return (FALSE);
}
else
}
while (inptr)
{
p->conf_input_lst);
if (!input)
{
return (FALSE);
}
else
}
}
return (TRUE);
}
{
while (list)
{
return (list);
}
return (NULL);
}