Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

curses(3X)

forms(3X)

form_fieldtype(3X)

NAME

form_fieldtype, new_fieldtype, free_fieldtype, set_fieldtype_arg, set_fieldtype_choice, link_fieldtype − forms fieldtype routines

SYNOPSIS

cc [ flag ... ] file ... −lform  -lcurses [ library .. ]

#include <form.h>

FIELDTYPE ∗new_fieldtype(int (∗ field_check) (FIELD ∗, char ∗),

int (∗ char_check)(int, char ∗));

int free_fieldtype(FIELDTYPE ∗fieldtype);

int set_fieldtype_arg(FIELDTYPE ∗fieldtype, char ∗(∗ mak_arg)(va_list ∗),

char ∗(∗ copy_arg) (char ∗), void (∗ free_arg)(char ∗));

int set_fieldtype_choice(FIELDTYPE ∗fieldtype, int (∗ next_choice)(FIELD ∗, char ∗),

int (∗ prev_choice)(FIELD ∗, char ∗));

FIELDTYPE ∗link_fieldtype(FIELDTYPE ∗type1, FIELDTYPE ∗type2);

MT-LEVEL

Unsafe

DESCRIPTION

new_fieldtype() creates a new field type.  The application programmer must write the function field_check, which validates the field value, and the function char_check, which validates each character.  free_fieldtype() frees the space allocated for the field type. 

By associating function pointers with a field type, set_fieldtype_arg() connects to the field type additional arguments necessary for a set_field_type() call.  Function mak_arg allocates a structure for the field specific parameters to set_field_type() and returns a pointer to the saved data.  Function copy_arg duplicates the structure created by make_arg.  Function free_arg frees any storage allocated by make_arg or copy_arg. 

The form_driver() requests REQ_NEXT_CHOICE and REQ_PREV_CHOICE let the user request the next or previous value of a field type comprising an ordered set of values.  set_fieldtype_choice() allows the application programmer to implement these requests for the given field type.  It associates with the given field type those application-defined functions that return pointers to the next or previous choice for the field. 

link_fieldtype() returns a pointer to the field type built from the two given types.  The constituent types may be any application-defined or pre-defined types. 

RETURN VALUES

Routines that return pointers always return NULL on error.  Routines that return an integer return one of the following:

E_OK−The function returned successfully.
E_SYSTEM_ERROR−System error.
E_BAD_ARGUMENT−An argument is incorrect.
E_CONNECTED−Type is connected to one or more fields.

SEE ALSO

curses(3X), forms(3X)

NOTES

The header <form.h> automatically includes the headers <eti.h> and <curses.h>. 

SunOS 5.5/x86  —  Last change: 22 Jan 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026