/* $NetBSD: post.c,v 1.8 2001/06/13 10:45:59 wiz Exp $ */
/*-
* Copyright (c) 1998-2000 Brett Lymn
* (blymn@baea.com.au, brett_lymn@yahoo.com.au)
* All rights reserved.
*
* This code has been donated to The NetBSD Foundation by the Author.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*
*/
#include "form.h"
#include "internals.h"
/*
* Post the form to the screen.
*/
int
post_form(FORM *form)
{
int rows, cols, status;
if (form == NULL)
return E_BAD_ARGUMENT;
if (form->posted == 1)
return E_POSTED;
if ((form->fields == NULL) || (form->fields[0] == NULL))
return E_NOT_CONNECTED;
if (form->in_init == 1)
return E_BAD_STATE;
if (scale_form(form, &rows, &cols) != E_OK)
return E_SYSTEM_ERROR;
if ((form->scrwin != NULL) && ((rows > getmaxy(form->scrwin))
|| (cols > getmaxx(form->scrwin)))) {
return E_NO_ROOM;
}
#ifdef DEBUG
if (_formi_create_dbg_file() != E_OK)
return E_SYSTEM_ERROR;
#endif
form->in_init = 1;
if (form->form_init != NULL)
form->form_init(form);
if (form->field_init != NULL)
form->field_init(form);
form->in_init = 0;
_formi_pos_first_field(form);
if ((status = _formi_draw_page(form)) != E_OK)
return status;
form->posted = 1;
pos_form_cursor(form);
return E_OK;
}
/*
* Unpost the form from the screen
*/
int
unpost_form(FORM *form)
{
if (form == NULL)
return E_BAD_ARGUMENT;
if (form->posted != 1)
return E_NOT_POSTED;
if (form->in_init == 1)
return E_BAD_STATE;
form->in_init = 1;
if (form->field_term != NULL)
form->field_term(form);
if (form->form_term != NULL)
form->form_term(form);
form->in_init = 0;
wclear(form->scrwin);
form->posted = 0;
return E_OK;
}
/rump/net/lib/liblocal?id=fa5b3e04901b0bef81115ad67bf267746d353d12&showmsg=1'>liblocal
| Age | Commit message (Collapse) | Author |
|
sprinkling them around the faction directories. Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.
Leave compat headers around in the old locations.
The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.
|
|
"make describe" prints the comment.
Requested/inspired by Vincent Schwarzer on rumpkernel-users
|
|
with the default provided by Makefile.rump (they're all 0.0 anyway)
|
|
work correctly that way.
|
|
|
|
module which is linked into the kernel and cannot be unloaded.
The main purpose is to get the proper constructors run and create
any /dev nodes necessary for said component. Once more of the
kernel (e.g. networking stack and device drivers) are converted to
MODULE and devfs pops up from somewhere, rump components can be
retired.
|
|
exercise of "add it to every Makefile individually".
XXX: should autosynchronize with the rest of the kernel buildflags
in sys/conf/Makefile.kern.inc.
|
|
in libs built with binutils >=2.19. This is a less error-prone
method than the previous where components had to be tagged in the
Makefile as modules (and if they weren't, things broke. and vice
versa).
|
|
for orphaned sections to using PROVIDE. What this means is that
unless a rump component internally references that symbol, it will
not be included in the component shared library, and hence cannot
be referenced when the component is loaded. Add a workaround which
works both with 2.16 and 2.19: force a reference to the __start
symbol internally and hence retain it in the resulting library.
|
|
are present. This works in userspace as opposed relying in link
sets, which fail miserably. Later, when the networking stack
becomes modularized, we can move to a dynamic scheme like with file
systems.
Also, this change allows us to do proper autoconfig, namely attach
the loopback interface iff it is present.
|
|
|