/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/* Copyright (c) 1988 AT&T */
/* All Rights Reserved */
/*
* Copyright (c) 1997, by Sun Microsystems, Inc.
* All rights reserved.
*/
#pragma ident "%Z%%M% %I% %E% SMI" /* SVr4.0 1.4 */
/*LINTLIBRARY*/
#include "utility.h"
typedef struct {
} REQUEST;
/* command array(carray) order is significant(see form.h REQ_*) */
{
};
/* _page_navigation - service page navigation request */
int
{
int v;
if (_validate(f)) {
term_field(f);
term_form(f);
v = (*act) (f);
init_form(f);
init_field(f);
} else
v = E_INVALID_FIELD;
return (v);
}
/* _field_navigation - service inter-field navigation request */
int
{
int v;
if (_validate(f)) {
term_field(f);
v = (*act) (f);
init_field(f);
} else
v = E_INVALID_FIELD;
return (v);
}
/* _data_navigation - service intra-field navagation request */
int
{
return ((*act) (f));
}
/* _data_manipulation - service data modification request */
int
{
int v = E_REQUEST_DENIED;
FIELD * c = C(f);
return (v);
}
int
{
return ((*act) (f));
}
int
{
int v;
REQUEST x;
if (f) {
v = E_BAD_STATE;
x = parse(c);
if (COMMAND(x))
v = CALL(x, f);
else {
CheckChar(C(f), c))
v = _data_entry(f, c);
else
v = E_UNKNOWN_COMMAND;
}
(void) _update_current(f);
} else
v = E_NOT_POSTED;
} else
v = E_BAD_ARGUMENT;
return (v);
}
static REQUEST
parse(int c)
{
if (c < MIN_FORM_COMMAND || c > MAX_FORM_COMMAND)
return (FAIL);
return (carray[c - MIN_FORM_COMMAND]);
}