January 1, 2001 FORM_PAGE 3

### NAME

current_field, field_index, form_page, form_max_page, set_current_field, set_form_page - form library

### LIBRARY

Curses Form Library (libform, -lform)

### SYNOPSIS

```FIELD``*` current_field(```FORM *form`)
```int` field_index(```FIELD *field`)
```int` form_page(```FORM *form`)
```int` form_max_page(```FORM *form`)
```int` set_current_field(```FORM *form``, FIELD *field`)
```int` set_form_page(```FORM *form``, int page`)

### DESCRIPTION

The current_field(``) returns a pointer to the structure for the field that is currently active on the page. If there is an error, current_field(``) will return ```NULL`. Calling field_index(``) will return the index of the given field in the form field array. The current page the form is on can be determined by using form_page(``), the current page of a form can be programmatically set by calling set_form_page(``). The maximum page number for a form can be found by calling the function form_max_page(``) but note that this function is a NetBSD extension and must not be used in portable forms library programs. The current field on the form may be set by calling set_current_field(``) which will set the current field to the one given.

### RETURN VALUES

Functions returning pointers will return ```NULL` if an error is detected. The functions that return an int will return one of the following error values:

```E_OK`
  The function was successful.
```E_BAD_ARGUMENT`
  The function was passed a bad argument.
```E_NOT_CONNECTED`
  The given field is not associated with a form.
```E_BAD_STATE`
  The function was called from within an init or term function.
```E_INVALID_FIELD`
  The field given is not part of the given form.

### SEE ALSO

curses(3), forms(3)

### NOTES

The header <```form.h`> automatically includes both <```curses.h`> and <```eti.h`>.

The form_max_page is a NetBSD extension and should not be used in portable applications.