Exemplo n.º 1
0
Arquivo: scheme.c Projeto: nizmic/nwm
static void init_client_type(void)
{
    client_tag = scm_make_smob_type("client", sizeof(client_t));
    scm_set_smob_mark(client_tag, mark_client);
    scm_set_smob_free(client_tag, free_client);
    scm_set_smob_print(client_tag, print_client);
    scm_set_smob_equalp(client_tag, equalp_client);
}
Exemplo n.º 2
0
void
init_image_type (void)
{
  image_tag = scm_make_smob_type ("image", sizeof (struct image));
  scm_set_smob_print (image_tag, print_image);

  scm_c_define_gsubr ("clear-image", 1, 0, 0, clear_image);
  scm_c_define_gsubr ("make-image", 3, 0, 0, make_image);
}
Exemplo n.º 3
0
void init_cell_type (void) {
	cell_tag = scm_make_smob_type("cell", sizeof(struct cell));
	scm_set_smob_mark(cell_tag, mark_cell);
	scm_set_smob_free(cell_tag, free_cell);
	scm_set_smob_print(cell_tag, print_cell);

	scm_c_define_gsubr("make-cell", 3, 0, 0, make_cell);
	scm_c_define_gsubr("set-cell", 2, 0, 0, set_cell);
	scm_c_define_gsubr("get-status", 1, 0, 0, get_status);
}
Exemplo n.º 4
0
void
init_gram_keysym (void)
{
  gram_keysym_tag =
    scm_make_smob_type ("keysym", sizeof (struct gram_keysym));
  scm_set_smob_print (gram_keysym_tag, gram_keysym_print);
  scm_set_smob_equalp (gram_keysym_tag, gram_keysym_equalp);

  scm_c_define_module ("gram keysym", init_gram_keysym_fns, NULL);
}
Exemplo n.º 5
0
void register_matrix_smobs(void)
{
#ifdef HAVE_SCM_MAKE_SMOB_TYPE
     scm_tc16_smob_evectmatrix = scm_make_smob_type("evectmatrix", 0);
     scm_set_smob_free(scm_tc16_smob_evectmatrix, free_evectmatrix);
     scm_set_smob_print(scm_tc16_smob_evectmatrix, print_evectmatrix);

     scm_tc16_smob_sqmatrix = scm_make_smob_type("sqmatrix", 0);
     scm_set_smob_free(scm_tc16_smob_sqmatrix, free_sqmatrix);
     scm_set_smob_print(scm_tc16_smob_sqmatrix, print_sqmatrix);
#else /* old way to register smobs */
     MAKE_SMOBFUNS(evectmatrix);
     MAKE_SMOBFUNS(sqmatrix);
     REGISTER_SMOBFUNS(evectmatrix);
     REGISTER_SMOBFUNS(sqmatrix);
#endif     

     gh_new_procedure("evectmatrix?", evectmatrix_p, 1, 0, 0);
     gh_new_procedure("sqmatrix?", sqmatrix_p, 1, 0, 0);
}
Exemplo n.º 6
0
/* Key smob initialization. */
void
init_key_type (void)
{
  key_tag = scm_make_smob_type ("key", sizeof (struct key_data));
  scm_set_smob_mark (key_tag, mark_key_smob);
  scm_set_smob_free (key_tag, free_key_smob);
  scm_set_smob_print (key_tag, print_key);
  scm_set_smob_equalp (key_tag, equalp_key);

#include "key-type.x"
}
Exemplo n.º 7
0
SWIGINTERN SCM
SWIG_Guile_Init ()
{
  static SCM swig_module;
  
  if (swig_initialized) return swig_module;
  swig_initialized = 1;

  swig_module = scm_c_resolve_module("Swig swigrun");
  if (ensure_smob_tag(swig_module, &swig_tag,
		      "swig-pointer", "swig-pointer-tag")) {
    scm_set_smob_print(swig_tag, print_swig);
    scm_set_smob_equalp(swig_tag, equalp_swig);
  }
  if (ensure_smob_tag(swig_module, &swig_collectable_tag,
		      "collectable-swig-pointer", "collectable-swig-pointer-tag")) {
    scm_set_smob_print(swig_collectable_tag, print_collectable_swig);
    scm_set_smob_equalp(swig_collectable_tag, equalp_swig);
    scm_set_smob_free(swig_collectable_tag, free_swig);
  }
  if (ensure_smob_tag(swig_module, &swig_destroyed_tag,
		      "destroyed-swig-pointer", "destroyed-swig-pointer-tag")) {
    scm_set_smob_print(swig_destroyed_tag, print_destroyed_swig);
    scm_set_smob_equalp(swig_destroyed_tag, equalp_swig);
  }
  if (ensure_smob_tag(swig_module, &swig_member_function_tag,
		      "swig-member-function-pointer", "swig-member-function-pointer-tag")) {
    scm_set_smob_print(swig_member_function_tag, print_member_function_swig);
    scm_set_smob_free(swig_member_function_tag, free_swig_member_function);
  }
  swig_make_func = scm_permanent_object(
    scm_variable_ref(scm_c_module_lookup(scm_c_resolve_module("oop goops"), "make")));
  swig_keyword = scm_permanent_object(scm_from_locale_keyword((char*) "init-smob"));
  swig_symbol = scm_permanent_object(scm_from_locale_symbol("swig-smob"));
#ifdef SWIG_INIT_RUNTIME_MODULE
  SWIG_INIT_RUNTIME_MODULE
#endif

  return swig_module;
}
Exemplo n.º 8
0
void init_Segment2(void)
{
  DB_PRINTF("\ninit_Segment2()\n\n");

  tag_Segment2 = scm_make_smob_type("gtSegment2", sizeof(Segment2));
  scm_set_smob_mark (tag_Segment2, mark_Segment2);
  scm_set_smob_free (tag_Segment2, free_Segment2);
  scm_set_smob_print(tag_Segment2, print_Segment2);

  scm_c_define_gsubr("gt-segment2?", 1, 0, 0, is_Segment2);
  scm_c_define_gsubr("gt-make-line2", 4, 0, 0, make_Segment2_line);
  scm_c_define_gsubr("gt-make-arc2", 6, 0, 0, make_Segment2_arc);
}
Exemplo n.º 9
0
/*!
 * \brief Initialise the basic gEDA smob types.
 * \par Function Description
 * Registers the gEDA core smob types and some procedures acting on
 * them.  gEDA only uses a single Guile smob, and uses the flags field
 * to multiplex the several different underlying C structures that may
 * be represented by that smob. Should only be called by
 * edascm_init().
 */
void
edascm_init_smob ()
{
  /* Register gEDA smob type */
  geda_smob_tag = scm_make_smob_type ("geda", 0);
  scm_set_smob_free (geda_smob_tag, smob_free);
  scm_set_smob_print (geda_smob_tag, smob_print);
  scm_set_smob_equalp (geda_smob_tag, smob_equalp);

  /* Define the (geda core smob) module */
  scm_c_define_module ("geda core smob",
                       init_module_geda_core_smob,
                       NULL);
}
Exemplo n.º 10
0
void
init_sample_type (void)
{
    sample_tag = scm_make_smob_type ("Sample", sizeof (Sample));
    scm_set_smob_mark (sample_tag, 0);
    scm_set_smob_free (sample_tag, free_sample);
    scm_set_smob_print (sample_tag, print_sample);

    scm_c_define_gsubr ("load-sample", 1, 0, 0, load_sample);
    scm_c_define_gsubr ("play-sample", 4, 0, 0, play_sample);

    scm_c_export ("load-sample", NULL);
    scm_c_export ("play-sample", NULL);
}
Exemplo n.º 11
0
void init_board_type (void) {
	board_tag = scm_make_smob_type("board", sizeof(struct board));
	scm_set_smob_mark(board_tag, mark_board);
	scm_set_smob_free(board_tag, free_board);
	scm_set_smob_print(board_tag, print_board);

	scm_c_define_gsubr("make-board", 2, 0, 0, make_board);
	scm_c_define_gsubr("clear-board", 1, 0, 0, clear_board);
	scm_c_define_gsubr("get-cell", 3, 0, 0, get_cell);
	scm_c_define_gsubr("get-neighbors", 2, 0, 0, get_neighbors);
	scm_c_define_gsubr("get-living-neighbors", 2, 0, 0, get_living_neighbors);
	scm_c_define_gsubr("apply-rule", 2, 0, 0, apply_rule);
	scm_c_define_gsubr("status-list", 1, 0, 0, status_list);
}
Exemplo n.º 12
0
void register_field_smobs(void)
{
#ifdef HAVE_SCM_MAKE_SMOB_TYPE
     scm_tc16_smob_field_smob = scm_make_smob_type("field", 0);
     scm_set_smob_free(scm_tc16_smob_field_smob, free_field_smob);
     scm_set_smob_print(scm_tc16_smob_field_smob, print_field_smob);
#else /* old way to register smobs */
     MAKE_SMOBFUNS(field_smob);
     REGISTER_SMOBFUNS(field_smob);
#endif

     gh_new_procedure("field?", field_p, 1, 0, 0);
     gh_new_procedure("rscalar-field?", rscalar_field_p, 1, 0, 0);
     gh_new_procedure("cscalar-field?", cscalar_field_p, 1, 0, 0);
     gh_new_procedure("cvector-field?", cvector_field_p, 1, 0, 0);
}
Exemplo n.º 13
0
void
init_game_type (void)
{
    game_tag = scm_make_smob_type ("Game", sizeof (Game));
    scm_set_smob_mark (game_tag, mark_game);
    scm_set_smob_free (game_tag, free_game);
    scm_set_smob_print (game_tag, print_game);

    scm_c_define_gsubr ("make-game", 0, 0, 0, make_game);
    scm_c_define_gsubr ("game-on-start-hook", 2, 0, 0, on_start_hook);
    scm_c_define_gsubr ("game-on-update-hook", 2, 0, 0, on_update_hook);
    scm_c_define_gsubr ("game-on-draw-hook", 2, 0, 0, on_draw_hook);
    scm_c_define_gsubr ("game-on-key-pressed-hook", 2, 0, 0, on_key_pressed_hook);
    scm_c_define_gsubr ("game-on-key-released-hook", 2, 0, 0, on_key_released_hook);
    scm_c_define_gsubr ("game-init", 4, 0, 0, game_init);
    scm_c_define_gsubr ("game-run", 1, 0, 0, game_run);
    scm_c_define_gsubr ("game-stop", 1, 0, 0, game_stop);
    scm_c_define_gsubr ("game-get-time", 1, 0, 0, game_get_time);
    scm_c_define_gsubr ("game-display-width", 1, 0, 0, game_display_width);
    scm_c_define_gsubr ("game-display-height", 1, 0, 0, game_display_height);
    scm_c_define_gsubr ("game-resize-display", 3, 0, 0, game_resize_display);
    scm_c_define_gsubr ("game-fullscreen?", 1, 0, 0, game_fullscreen);
    scm_c_define_gsubr ("set-game-fullscreen", 2, 0, 0, set_game_fullscreen);
    scm_c_define_gsubr ("game-reset-draw-target", 1, 0, 0, reset_draw_target);

    scm_c_export ("make-game", NULL);
    scm_c_export ("game-on-start-hook", NULL);
    scm_c_export ("game-on-update-hook", NULL);
    scm_c_export ("game-on-draw-hook", NULL);
    scm_c_export ("game-on-key-pressed-hook", NULL);
    scm_c_export ("game-on-key-released-hook", NULL);
    scm_c_export ("game-init", NULL);
    scm_c_export ("game-run", NULL);
    scm_c_export ("game-stop", NULL);
    scm_c_export ("game-get-time", NULL);
    scm_c_export ("game-display-width", NULL);
    scm_c_export ("game-display-height", NULL);
    scm_c_export ("game-resize-display", NULL);
    scm_c_export ("game-fullscreen?", NULL);
    scm_c_export ("set-game-fullscreen", NULL);
    scm_c_export ("game-reset-draw-target", NULL);
}
Exemplo n.º 14
0
void ragnarok_epoll_module_init()
{
  // epoll set SMOB init
  rag_epoll_event_set_tag = scm_make_smob_type("ragnarok-epoll-event-type",
					       sizeof(scm_rag_event_set));
  scm_set_smob_print(rag_epoll_event_set_tag ,ragnarok_print_epoll_event_set);
  scm_set_smob_free(rag_epoll_event_set_tag ,ragnarok_free_epoll_event_set);

  scm_c_define_gsubr("make-epoll-event" ,5 ,0 ,0 ,scm_ragnarok_make_epoll_event);
  scm_c_define_gsubr("make-epoll-event-set" ,2 ,0 ,0 ,scm_make_epoll_event_set);

  scm_c_define_gsubr("ragnarok-epoll-init",
  		     1 ,0 ,0 ,scm_ragnarok_epoll_init);
  scm_c_define_gsubr("ragnarok-epoll-handler",
  		     1 ,2 ,0 ,scm_ragnarok_epoll_handler);
  scm_c_define_gsubr("ragnarok-epoll-wait",
  		     1 ,2 ,0 ,scm_ragnarok_epoll_wait);
  scm_c_define_gsubr("ragnarok-epoll-add-event",
  		     2 ,0 ,0 ,scm_ragnarok_epoll_add_event);
  scm_c_define_gsubr("ragnarok-epoll-del-event",
  		     2 ,0 ,0 ,scm_ragnarok_epoll_del_event);

  SCM_MAKE_GSUBR_OBJ_GET(epoll_event_set ,size);
  SCM_MAKE_GSUBR_OBJ_SET(epoll_event_set ,size);

  SCM_MAKE_GSUBR_OBJ_GET(epoll_event_set ,count);
  SCM_MAKE_GSUBR_OBJ_SET(epoll_event_set ,count);

  SCM_MAKE_GSUBR_OBJ_GET(epoll_event_set ,epfd);
  SCM_MAKE_GSUBR_OBJ_SET(epoll_event_set ,epfd);

  //event module interface
  scm_c_define_gsubr("ragnarok-event-init" ,1 ,0 ,0 ,RAGNAROK_EVENT_INIT);
  scm_c_define_gsubr("ragnarok-event-handler" ,1 ,2 ,0 ,RAGNAROK_EVENT_HANDLER);
  scm_c_define_gsubr("ragnarok-event-add" ,2 ,0 ,0 ,RAGNAROK_EVENT_ADD);
  scm_c_define_gsubr("ragnarok-event-del" ,2 ,0 ,0 ,RAGNAROK_EVENT_DEL);
  scm_c_define_gsubr("ragnarok-make-new-event" ,5 ,0 ,0 ,RAGNAROK_NEW_EVENT);
}
Exemplo n.º 15
0
void
gupl_plot_init (void)
{
  static int first = 1;

  if (first)
    {
      port_funcs.read = port_read;
      port_funcs.write = port_write;
      port_funcs.seek = port_seek;
      port_funcs.close = port_close;

      plparams_tag = scm_make_smob_type ("plparams", sizeof (plPlotterParams *));
      scm_set_smob_mark (plparams_tag, mark_plparams);
      scm_set_smob_free (plparams_tag, free_plparams);
      scm_set_smob_print (plparams_tag, print_plparams);
      scm_set_smob_equalp (plparams_tag, equalp_plparams);
      scm_c_define_gsubr ("plparams?", 1, 0, 0, gupl_is_plparams_p);
      scm_c_define_gsubr ("newplparams", 0, 0, 0, gupl_newplparams);

      plotter_tag = scm_make_smob_type ("plotter", sizeof (plPlotter *));
      scm_set_smob_mark (plotter_tag, mark_plotter);
      scm_set_smob_free (plotter_tag, free_plotter);
      scm_set_smob_print (plotter_tag, print_plotter);
      scm_set_smob_equalp (plotter_tag, equalp_plotter);
      scm_c_define_gsubr ("plotter?", 1, 0, 0, gupl_is_plotter_p);
      scm_c_define_gsubr ("newpl", 4, 0, 0, gupl_newpl);

      scm_c_define_gsubr ("%alabel!", 4, 0, 0, gupl_alabel_x);
      scm_c_define_gsubr ("arc!", 7, 0, 0, gupl_arc_x);
      scm_c_define_gsubr ("arcrel!", 7, 0, 0, gupl_arcrel_x);
      scm_c_define_gsubr ("bezier2!", 7, 0, 0, gupl_bezier2_x);
      scm_c_define_gsubr ("bezier2rel!", 7, 0, 0, gupl_bezier2rel_x);
      scm_c_define_gsubr ("bezier3!", 9, 0, 0, gupl_bezier3_x);
      scm_c_define_gsubr ("bezier3rel!", 9, 0, 0, gupl_bezier3rel_x);
      scm_c_define_gsubr ("bgcolor!", 4, 0, 0, gupl_bgcolor_x);
      scm_c_define_gsubr ("bgcolorname!", 2, 0, 0, gupl_bgcolorname_x);
      scm_c_define_gsubr ("box!", 5, 0, 0, gupl_box_x);
      scm_c_define_gsubr ("boxrel!", 5, 0, 0, gupl_boxrel_x);
      scm_c_define_gsubr ("capmod!", 2, 0, 0, gupl_capmod_x);
      scm_c_define_gsubr ("circle!", 4, 0, 0, gupl_circle_x);
      scm_c_define_gsubr ("circlerel!", 4, 0, 0, gupl_circlerel_x);
      scm_c_define_gsubr ("closepl!", 1, 0, 0, gupl_closepl_x);
      scm_c_define_gsubr ("color!", 4, 0, 0, gupl_color_x);
      scm_c_define_gsubr ("colorname!", 2, 0, 0, gupl_colorname_x);
      scm_c_define_gsubr ("concat!", 7, 0, 0, gupl_concat_x);
      scm_c_define_gsubr ("cont!", 3, 0, 0, gupl_cont_x);
      scm_c_define_gsubr ("contrel!", 3, 0, 0, gupl_contrel_x);
      scm_c_define_gsubr ("ellarc!", 7, 0, 0, gupl_ellarc_x);
      scm_c_define_gsubr ("ellarcrel!", 7, 0, 0, gupl_ellarcrel_x);
      scm_c_define_gsubr ("ellipse!", 6, 0, 0, gupl_ellipse_x);
      scm_c_define_gsubr ("ellipserel!", 6, 0, 0, gupl_ellipserel_x);
      scm_c_define_gsubr ("endpath!", 1, 0, 0, gupl_endpath_x);
      scm_c_define_gsubr ("endsubpath!", 1, 0, 0, gupl_endsubpath_x);
      scm_c_define_gsubr ("erase!", 1, 0, 0, gupl_erase_x);
      scm_c_define_gsubr ("fillcolor!", 4, 0, 0, gupl_fillcolor_x);
      scm_c_define_gsubr ("fillcolorname!", 2, 0, 0, gupl_fillcolorname_x);
      scm_c_define_gsubr ("fillmod!", 2, 0, 0, gupl_fillmod_x);
      scm_c_define_gsubr ("filltype!", 2, 0, 0, gupl_filltype_x);
      scm_c_define_gsubr ("flushpl!", 1, 0, 0, gupl_flushpl_x);
      scm_c_define_gsubr ("fontname!", 2, 0, 0, gupl_fontname_x);
      scm_c_define_gsubr ("fontsize!", 2, 0, 0, gupl_fontsize_x);
      scm_c_define_gsubr ("havecap", 2, 0, 0, gupl_havecap);
      scm_c_define_gsubr ("joinmod!", 2, 0, 0, gupl_joinmod_x);
      scm_c_define_gsubr ("label!", 2, 0, 0, gupl_label_x);
      scm_c_define_gsubr ("labelwidth!", 2, 0, 0, gupl_labelwidth_x);
      scm_c_define_gsubr ("line!", 5, 0, 0, gupl_line_x);
      scm_c_define_gsubr ("linemod!", 2, 0, 0, gupl_linemod_x);
      scm_c_define_gsubr ("linerel!", 5, 0, 0, gupl_linerel_x);
      scm_c_define_gsubr ("linewidth!", 2, 0, 0, gupl_linewidth_x);
      scm_c_define_gsubr ("marker!", 5, 0, 0, gupl_marker_x);
      scm_c_define_gsubr ("markerrel!", 5, 0, 0, gupl_markerrel_x);
      scm_c_define_gsubr ("miterlimit!", 2, 0, 0, gupl_miterlimit_x);
      scm_c_define_gsubr ("move!", 3, 0, 0, gupl_move_x);
      scm_c_define_gsubr ("moverel!", 3, 0, 0, gupl_moverel_x);
      scm_c_define_gsubr ("openpl!", 1, 0, 0, gupl_openpl_x);
      scm_c_define_gsubr ("orientation!", 2, 0, 0, gupl_orientation_x);
      scm_c_define_gsubr ("pencolor!", 4, 0, 0, gupl_pencolor_x);
      scm_c_define_gsubr ("pencolorname!", 2, 0, 0, gupl_pencolorname_x);
      scm_c_define_gsubr ("pentype!", 2, 0, 0, gupl_pentype_x);
      scm_c_define_gsubr ("point!", 3, 0, 0, gupl_point_x);
      scm_c_define_gsubr ("pointrel!", 3, 0, 0, gupl_pointrel_x);
      scm_c_define_gsubr ("restorestate!", 1, 0, 0, gupl_restorestate_x);
      scm_c_define_gsubr ("rotate!", 2, 0, 0, gupl_rotate_x);
      scm_c_define_gsubr ("savestate!", 1, 0, 0, gupl_savestate_x);
      scm_c_define_gsubr ("scale!", 3, 0, 0, gupl_scale_x);
      scm_c_define_gsubr ("setmatrix!", 7, 0, 0, gupl_setmatrix_x);
      scm_c_define_gsubr ("setplparam!", 3, 0, 0, gupl_setplparam_x);
      scm_c_define_gsubr ("space!", 5, 0, 0, gupl_space_x);
      scm_c_define_gsubr ("space2!", 7, 0, 0, gupl_space2_x);
      scm_c_define_gsubr ("textangle!", 2, 0, 0, gupl_textangle_x);
      scm_c_define_gsubr ("translate!", 3, 0, 0, gupl_translate_x);

      first = 0;
    }
}