Ejemplo n.º 1
0
Archivo: io.c Proyecto: mschaef/vcsh
lref_t initialize_port(lref_t port,
                       struct port_class_t * cls,
                       lref_t port_name,
                       enum port_mode_t mode,
                       lref_t user_object,
                       void *user_data)
{
     assert(cls != NULL);
     assert(!NULLP(port));

     SET_PORT_PINFO(port, gc_malloc(sizeof(struct port_info_t)));
     SET_PORT_CLASS(port, cls);

     PORT_PINFO(port)->port_name = port_name;
     PORT_PINFO(port)->user_data = user_data;
     PORT_PINFO(port)->user_object = user_object;
     PORT_PINFO(port)->mode = mode;

     SET_PORT_TEXT_INFO(port, NULL);;

     if (PORT_CLASS(port)->open)
          PORT_CLASS(port)->open(port);

     return port;
}
Ejemplo n.º 2
0
void init_debugger_output()
{
     interp.debugger_output.header.type = TC_PORT;

     initialize_port(&interp.debugger_output,
                     &debug_port_class,
                     NIL,
                     PORT_OUTPUT,
                     NIL,
                     NULL);

     SET_PORT_TEXT_INFO(&interp.debugger_output, allocate_text_info());
}
Ejemplo n.º 3
0
void text_port_open(lref_t port)
{
     SET_PORT_TEXT_INFO(port, allocate_text_info());
}