Changeset afbf668 for owl.h


Ignore:
Timestamp:
Mar 1, 2004, 12:42:56 PM (20 years ago)
Author:
Erik Nygren <nygren@mit.edu>
Branches:
master, barnowl_perlaim, debian, owl, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
948b942
Parents:
c61918e
Message:
	pexec will now incrimentally display data as it is output
	  by the child process.  Additionally, commands running under
	  pexec may now be killed by quitting out of the popless window.
	Added muxevents select loop dispatcher.  File descriptors may
	  be registered with muxevents and handlers will be dispatched
	  to when data is available for non-blocking read/write/except.
	Switched the stderr_redir stuff to use muxevents.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • owl.h

    rc61918e rafbf668  
    5959static const char owl_h_fileIdent[] = "$Id$";
    6060
    61 #define OWL_VERSION         2.1.5
    62 #define OWL_VERSION_STRING "2.1.5"
     61#define OWL_VERSION         2.1.6pre1
     62#define OWL_VERSION_STRING "2.1.6pre1"
    6363
    6464/* Feature that is being tested to redirect stderr through a pipe.
     
    110110#define OWL_MESSAGE_DIRECTION_IN    1
    111111#define OWL_MESSAGE_DIRECTION_OUT   2
     112
     113#define OWL_MUX_READ   1
     114#define OWL_MUX_WRITE  2
     115#define OWL_MUX_EXCEPT 4
    112116
    113117#define OWL_DIRECTION_NONE      0
     
    352356  int winlines, wincols;
    353357  WINDOW *curswin;
     358  void (*onclose_hook) (struct _owl_viewwin *vwin, void *data);
     359  void *onclose_hook_data;
    354360} owl_viewwin;
    355361 
     
    363369  void (*handler) (int ch);
    364370} owl_popwin;
     371
     372typedef struct _owl_popexec {
     373  int refcount;
     374  owl_viewwin *vwin;
     375  int winactive;
     376  int pid;                      /* or 0 if it has terminated */
     377  int rfd; 
     378} owl_popexec;
    365379
    366380typedef struct _owl_messagelist {
     
    419433} owl_editwin;
    420434
     435typedef struct _owl_mux {
     436  int handle;                   /* for referencing this */
     437  int active;                   /* has this been deleted? */
     438  int fd;                     
     439  int eventmask;                /* bitmask of OWL_MUX_* */
     440  void (*handler_fn)(int handle, int fd, int eventmask, void *data);
     441  void *data;                   /* data reference to pass to callback */
     442} owl_mux;
     443typedef owl_list owl_muxevents;
     444
    421445typedef struct _owl_keybinding {
    422446  int  *j;                      /* keypress stack (0-terminated) */ 
     
    478502  owl_list filterlist;
    479503  owl_list puntlist;
     504  owl_muxevents muxevents;      /* fds to dispatch on */
    480505  owl_vardict vars;
    481506  owl_cmddict cmds;
Note: See TracChangeset for help on using the changeset viewer.