Pascal Interfaces Listed below are the DESQview API Pascal interfaces available with the DESQview API Pascal Library. General Subroutines api_beginc begin critical region api_cancel cancel current Window Manager operation api_endc end critical region api_exit exit API interface api_freebit disconnect 2nd level interrupt handler api_getbit define 2nd level interrupt handler api_getmem get system memory buffer api_init initialize API interface api_isobj determine if a given handle is valid api_justify enable/disable automatic justification of task window api_kmouse turn keyboard mouse on and off api_level define API revision level that application requires api_pause give other tasks a chance to run api_poke display debug information on bottom line of screen api_pushkey push key into input stream api_putmem return system memory buffer api_setbit schedule a 2nd level interrupt handler api_shadow get task's logical window buffer and start shadowing api_sound make a sound api_update redraw a portion of a task's logical window Application Management Subroutines app_foreonly indicate whether an application can run in background app_free free an application and its window app_goback force an application into background app_gofore force an application into foreground app_hide hide all windows of an application app_new start a new application in the current process app_number get the current applications Switch number app_show display all windows of an application app_snew start a new application in the current process app_start start a new application in a new process app_suspend suspend and hide all tasks in an application Field Management Subroutines fld_altmode set Alternate Field Processing mode fld_attr fill a field with a given attribute fld_char fill a field with a given character fld_clear clear a field fld_cursor move cursor to a field fld_entry change field table entry fld_header change field table header fld_lentry load field table entry of field table window stream fld_lheader load field table header of field table window stream fld_marker define selected-field marker character fld_point move pointer to a given position in a field fld_reset reset selected and modified bits fld_scroll scroll a field fld_swrite write a string into a field fld_type change the type of a field fld_write write characters into a field Keyboard Management Subroutines key_addto set keyboard behavior flags key_close disconnect keyboard from its window key_erase discard pending keyboard input key_free free a keyboard object key_getc wait for next key (keystroke mode) key_me get current task's keyboard handle key_new create a new keyboard object key_of get handle of a given task's keyboard key_open attach keyboard to a given window key_read read input from keyboard key_setesc define function to filter keys in field mode key_sizeof get # keyboard messages pending key_status get status of last keyboard message key_subfrom clear keyboard behavior flags key_swrite write string to keyboard key_write write data to keyboard Mailbox Management Subroutines mal_addr return sender of last message mal_addto send a message by value with given status mal_close close a mailbox mal_erase erase all pending messages mal_find find a mailbox by name mal_free free a mailbox object mal_lock lock access to a resource mal_me get handle of current task's mailbox mal_name assign a global name to a mailbox mal_new create a new mailbox mal_of get handle of a given task's mailbox mal_open open a mailbox mal_read wait for next message mal_saddto send a string message by value with given status mal_sfind find a mailbox by string name mal_sizeof get # messages pending mal_sname assign a global name by string to a mailbox mal_sread wait for next message to copy into string mal_ssubfrom send string message by reference with given status mal_status get status of last message received mal_subfrom send message by reference with given status mal_swrite send a string message by value with status zero mal_unlock unlock access to a resource mal_write send a message by value with status zero Objectq Management Subroutines obq_close close the task's objectq obq_erase erase contents of the task's objectq obq_open open the task's objectq obq_read wait for any object to have input obq_sizeof get # of objectq entries pending obq_status determine if the task's objectq is open obq_subfrom remove copies of object from the task's objectq Panel Management Subroutines pan_apply display a named panel and prepare for input pan_close close a panel file pan_dir get list of panels in the panel file pan_free free a panel object pan_new create a panel object pan_open open a panel file pan_sapply display a panel named by string and prepare for input pan_sizeof get # panels in the panel file pan_sopen open a panel file specified by string name pan_status get status of last pan_open or pan_apply Pointer Managemet Subroutines ptr_addto set pointer control flags ptr_close close a pointer object ptr_erase erase pending pointer messages ptr_free free a pointer object ptr_getscale get current scaling factors ptr_new create a new pointer object ptr_open open pointer and assign to a window ptr_read wait for next pointer message ptr_setscale set current scaling factors ptr_sizeof get # messages pending ptr_status get button status from last message received ptr_subfrom clear pointer control flags ptr_write move the pointer to a given position Query Subroutines qry_atread TRUE if win_read and win_readn will read attributes qry_attr get current output attribute qry_color get physical attribute for given logical attribute qry_ctrl TRUE if processing control codes qry_cursor get current cursor position qry_entry get field table entry qry_field get contents of a field qry_frame TRUE if the window has a frame qry_frattr get current frame attribute qry_header get field table header qry_hidden TRUE if the window is hidden qry_kmouse TRUE if using a keyboard mouse qry_leave TRUE if leaving attribute untouched when writing qry_logattr TRUE if using logical attributes qry_lsize get size of logical window buffer qry_origin get origin of physical window relative to logical qry_position get position of physical window qry_sfield get contents of a field into a string qry_size get size of physical window qry_stitle get window's title into a string qry_title get window's title qry_type get type of field Text File Device Driver Subroutines tfd_attach attach a given window to TFDD tfd_close close TFDD tfd_lock lock access to TFDD tfd_open open TFDD and attach given window tfd_unlock unlock access to TFDD Timer Management Subroutines tim_addto start a timer for a given interval tim_close close a timer object tim_erase stop a running timer tim_free free a timer object tim_len get time remaining until timer expires tim_new create a new timer object tim_open open a timer object tim_read wait for timer to expire tim_sizeof get time since a timer started running tim_status determine if a timer is running tim_write start a timer for a given time of day Task Management Subroutines tsk_free free a task and its window tsk_me get handle of current task tsk_new create a new task tsk_pgmint software interrupt another task tsk_post restart a task and post its objectq tsk_snew create a new task with specified string title tsk_start restart a stopped task tsk_stop temporarily stop a task Window Management Subroutines win_addto write characters and attributes to a window win_adopt adopt a window win_allow specify which DESQview commands are allowed win_async define asynchronous notify subroutine win_atread set read mode to read either characters or attributes win_attach attach window to its parent task window win_attr set current output attribute win_blanks write blanks to a window win_bottom make window bottommost in its application win_buffer get pointer to window's logical window buffer win_cancel cancel notification on a given event win_color change logical attribute mapping win_ctrl enable/disable interpretation of control characters win_cursor move window's logical cursor win_dflt change default notify window win_disallow specify which DESQview commands are not allowed win_disperor display an error message window win_eof TRUE if logical cursor is beyond end of window win_erase clear window win_frame enable/disable display of a window's frame win_frattr define window frame attribute win_free remove a window from the screen and free its handle win_hcur display hardware cursor at logical cursor position win_hide mark a window as hidden win_leave leave existing attribute when writing to a window win_len return width of logical window win_locate return which window is visible at given screen position win_logattr use logical/physical attributes win_lsize set windows logical dimensions win_maxsize set windows maximum physical dimensions win_me get current task's window handle win_minsize set windows minimum physical dimensions win_move move physical window win_new create a new window win_notify enable notification on a given event win_nread read n characters from a window win_open fill a window with a given character win_origin define portion of logical window viewed in physical window win_orphan orphan a window win_paste define window as current clipboard window win_point jump mouse to logical cursor position win_poswin position window relative to another window win_putc write a character/attribute pair to a window win_read read rest of current line from window win_redraw redraw a window win_reorder reorder an application's windows win_repattr write an attribute to a window n times win_repchar write a character to a window n times win_resize set physical dimensions of a window win_saddto write strings of characters and attributes to a window win_scroll scroll all or part of a window win_sdisperor display a string error message window win_sizeof get # character positions in the logical window win_snew create a new window with a given string title win_sstream write a string stream to a window win_ssubfrom write a string of attributes to a window win_stitle change a window's title to given string win_stream write a stream to a window win_subfrom write attributes to a window win_swrite write a string of characters to a window win_title change a window's title win_top make window topmost in its application win_topsys make window topmost in the system win_unhide mark a window as not hidden win_write write characters to a window