SFI Interface Reference

/opt/src/beast/sfi/sficomwire.h

SYNOPSIS

struct  SfiComMsg;
struct  _SfiComWire;
   
void  sfi_com_set_spawn_dir  (cwd);
gchar*  sfi_com_spawn_async  (executable, child_pid, standard_input, standard_output, standard_error, command_fd_option, command_input, command_output, args);
void  sfi_com_wire_close_remote  (wire, terminate);
gchar*  sfi_com_wire_collect_stderr  (wire, n_chars);
gchar*  sfi_com_wire_collect_stdout  (wire, n_chars);
void  sfi_com_wire_destroy  (wire);
void  sfi_com_wire_discard_request  (wire, request);
void  sfi_com_wire_dispatch  (wire, request);
void  sfi_com_wire_forget_request  (wire, request);
SfiComWire*  sfi_com_wire_from_child  (ident, remote_input, remote_output, standard_input, standard_output, standard_error, remote_pid);
SfiComWire*  sfi_com_wire_from_pipe  (ident, remote_input, remote_output);
GPollFD*  sfi_com_wire_get_poll_fds  (wire, n_pfds);
gint*  sfi_com_wire_get_read_fds  (wire, n_fds);
gint*  sfi_com_wire_get_write_fds  (wire, n_fds);
gboolean  sfi_com_wire_need_dispatch  (wire);
guint  sfi_com_wire_peek_first_result  (wire);
gchar*  sfi_com_wire_ping_pong  (wire, ping, timeout);
void  sfi_com_wire_process_io  (wire);
gboolean  sfi_com_wire_receive_dispatch  (wire);
const gchar*  sfi_com_wire_receive_request  (wire, request);
gchar*  sfi_com_wire_receive_result  (wire, request);
void  sfi_com_wire_select  (wire, timeout);
guint  sfi_com_wire_send_request  (wire, request_msg);
void  sfi_com_wire_send_result  (wire, request, result_msg);
void  sfi_com_wire_set_dispatcher  (wire, dispatch_func, dispatch_data, destroy_data);

DESCRIPTION

SfiComMsg

/opt/src/beast/sfi/sficomwire.h:89
struct SfiComMsg
{
  guint32 magic;
  guint32 mlength;
  guint32 type;
  guint32 request;
  gchar  *message;
};

_SfiComWire

/opt/src/beast/sfi/sficomwire.h:34
struct _SfiComWire
{
  gchar         *ident;
  gpointer       owner;
  guint          connected;
  guint          remote_input_broke;
  guint          remote_output_broke;
  guint          standard_input_broke;
  guint          standard_output_broke;
  guint          standard_error_broke;
  SfiComDispatch dispatch_func;
  gpointer       dispatch_data;
  GDestroyNotify destroy_data;
  GList         *orequests;
  GList         *iresults;
  GList         *irequests;
  GList         *rrequests;
  gint           remote_input;
  gint           remote_output;
  gint           standard_input;
  gint           standard_output;
  gint           standard_error;
  gint           remote_pid;
  GString       *gstring_stdout;
  GString       *gstring_stderr;
  guint8        *ibuffer;
  guint8        *ibp;
  guint8        *ibound;
  guint8        *obuffer;
  guint8        *obp;
  guint8        *obound;
};

sfi_com_set_spawn_dir

/opt/src/beast/sfi/sficomwire.h:166

sfi_com_spawn_async

/opt/src/beast/sfi/sficomwire.h:175
gchar*  sfi_com_spawn_async 
(const gchar *executable,
 gint        *child_pid,
 gint        *standard_input,
 gint        *standard_output,
 gint        *standard_error,
 const gchar *command_fd_option,
 gint        *command_input,
 gint        *command_output,
 SfiRing     *args);

sfi_com_wire_close_remote

/opt/src/beast/sfi/sficomwire.h:152
void  sfi_com_wire_close_remote 
(SfiComWire *wire,
 gboolean    terminate);

sfi_com_wire_collect_stderr

/opt/src/beast/sfi/sficomwire.h:148
gchar*  sfi_com_wire_collect_stderr 
(SfiComWire *wire,
 guint      *n_chars);

sfi_com_wire_collect_stdout

/opt/src/beast/sfi/sficomwire.h:146
gchar*  sfi_com_wire_collect_stdout 
(SfiComWire *wire,
 guint      *n_chars);

sfi_com_wire_destroy

/opt/src/beast/sfi/sficomwire.h:153

sfi_com_wire_discard_request

/opt/src/beast/sfi/sficomwire.h:126
void  sfi_com_wire_discard_request 
(SfiComWire *wire,
 guint       request);

sfi_com_wire_dispatch

/opt/src/beast/sfi/sficomwire.h:134
void  sfi_com_wire_dispatch 
(SfiComWire *wire,
 guint       request);

sfi_com_wire_forget_request

/opt/src/beast/sfi/sficomwire.h:116
void  sfi_com_wire_forget_request 
(SfiComWire *wire,
 guint       request);

sfi_com_wire_from_child

/opt/src/beast/sfi/sficomwire.h:108
SfiComWire*  sfi_com_wire_from_child 
(const gchar *ident,
 gint         remote_input,
 gint         remote_output,
 gint         standard_input,
 gint         standard_output,
 gint         standard_error,
 gint         remote_pid);

sfi_com_wire_from_pipe

/opt/src/beast/sfi/sficomwire.h:101
SfiComWire*  sfi_com_wire_from_pipe 
(const gchar *ident,
 gint         remote_input,
 gint         remote_output);

sfi_com_wire_get_poll_fds

/opt/src/beast/sfi/sficomwire.h:143
GPollFD*  sfi_com_wire_get_poll_fds 
(SfiComWire *wire,
 guint      *n_pfds);

sfi_com_wire_get_read_fds

/opt/src/beast/sfi/sficomwire.h:139
gint*  sfi_com_wire_get_read_fds 
(SfiComWire *wire,
 guint      *n_fds);

sfi_com_wire_get_write_fds

/opt/src/beast/sfi/sficomwire.h:141
gint*  sfi_com_wire_get_write_fds 
(SfiComWire *wire,
 guint      *n_fds);

sfi_com_wire_need_dispatch

/opt/src/beast/sfi/sficomwire.h:135

sfi_com_wire_peek_first_result

/opt/src/beast/sfi/sficomwire.h:117

sfi_com_wire_ping_pong

/opt/src/beast/sfi/sficomwire.h:162
gchar*  sfi_com_wire_ping_pong 
(SfiComWire  *wire,
 const gchar *ping,
 guint        timeout);

sfi_com_wire_process_io

/opt/src/beast/sfi/sficomwire.h:144

sfi_com_wire_receive_dispatch

/opt/src/beast/sfi/sficomwire.h:157

sfi_com_wire_receive_request

/opt/src/beast/sfi/sficomwire.h:121
const gchar*  sfi_com_wire_receive_request 
(SfiComWire *wire,
 guint      *request);

sfi_com_wire_receive_result

/opt/src/beast/sfi/sficomwire.h:114
gchar*  sfi_com_wire_receive_result 
(SfiComWire *wire,
 guint       request);

sfi_com_wire_select

/opt/src/beast/sfi/sficomwire.h:159
void  sfi_com_wire_select 
(SfiComWire *wire,
 guint       timeout);

sfi_com_wire_send_request

/opt/src/beast/sfi/sficomwire.h:112
guint  sfi_com_wire_send_request 
(SfiComWire  *wire,
 const gchar *request_msg);

sfi_com_wire_send_result

/opt/src/beast/sfi/sficomwire.h:124
void  sfi_com_wire_send_result 
(SfiComWire  *wire,
 guint        request,
 const gchar *result_msg);

sfi_com_wire_set_dispatcher

/opt/src/beast/sfi/sficomwire.h:132
void  sfi_com_wire_set_dispatcher 
(SfiComWire    *wire,
 SfiComDispatch dispatch_func,
 gpointer       dispatch_data,
 GDestroyNotify destroy_data);