23#ifndef __SYNCTEX_PARSER__ 
   24#define __SYNCTEX_PARSER__ 
   30#define SYNCTEX_VERSION_STRING "1.19" 
   41typedef struct synctex_scanner_t synctex_scanner_s;
 
   42typedef synctex_scanner_s *synctex_scanner_p;
 
   84synctex_scanner_p synctex_scanner_new_with_output_file(
const char *output, 
const char *build_directory, 
int parse);
 
   93int synctex_scanner_free(synctex_scanner_p scanner);
 
  111synctex_scanner_p synctex_scanner_parse(synctex_scanner_p scanner);
 
  117typedef struct synctex_node_t synctex_node_s;
 
  118typedef synctex_node_s *synctex_node_p;
 
  169typedef long synctex_status_t;
 
  175synctex_status_t synctex_display_query(synctex_scanner_p scanner, 
const char *name, 
int line, 
int column, 
int page_hint);
 
  176synctex_status_t synctex_edit_query(synctex_scanner_p scanner, 
int page, 
float h, 
float v);
 
  177synctex_node_p synctex_scanner_next_result(synctex_scanner_p scanner);
 
  178synctex_status_t synctex_scanner_reset_result(synctex_scanner_p scanner);
 
  212float synctex_node_box_visible_h(synctex_node_p node);
 
  213float synctex_node_box_visible_v(synctex_node_p node);
 
  214float synctex_node_box_visible_width(synctex_node_p node);
 
  215float synctex_node_box_visible_height(synctex_node_p node);
 
  216float synctex_node_box_visible_depth(synctex_node_p node);
 
  233float synctex_node_visible_h(synctex_node_p node);
 
  234float synctex_node_visible_v(synctex_node_p node);
 
  235float synctex_node_visible_width(synctex_node_p node);
 
  236float synctex_node_visible_height(synctex_node_p node);
 
  237float synctex_node_visible_depth(synctex_node_p node);
 
  251int synctex_node_tag(synctex_node_p node);
 
  252int synctex_node_line(synctex_node_p node);
 
  253int synctex_node_column(synctex_node_p node);
 
  254const char *synctex_node_get_name(synctex_node_p node);
 
  260int synctex_node_page(synctex_node_p node);
 
  267void synctex_scanner_display(synctex_scanner_p scanner);
 
  290const char *synctex_scanner_get_name(synctex_scanner_p scanner, 
int tag);
 
  292int synctex_scanner_get_tag(synctex_scanner_p scanner, 
const char *name);
 
  294synctex_node_p synctex_scanner_input(synctex_scanner_p scanner);
 
  295synctex_node_p synctex_scanner_input_with_tag(synctex_scanner_p scanner, 
int tag);
 
  296const char *synctex_scanner_get_output(synctex_scanner_p scanner);
 
  297const char *synctex_scanner_get_synctex(synctex_scanner_p scanner);
 
  307int synctex_scanner_x_offset(synctex_scanner_p scanner);
 
  308int synctex_scanner_y_offset(synctex_scanner_p scanner);
 
  309float synctex_scanner_magnification(synctex_scanner_p scanner);
 
  344synctex_node_p synctex_node_parent(synctex_node_p node);
 
  345synctex_node_p synctex_node_parent_sheet(synctex_node_p node);
 
  346synctex_node_p synctex_node_parent_form(synctex_node_p node);
 
  347synctex_node_p synctex_node_child(synctex_node_p node);
 
  348synctex_node_p synctex_node_last_child(synctex_node_p node);
 
  349synctex_node_p synctex_node_sibling(synctex_node_p node);
 
  350synctex_node_p synctex_node_last_sibling(synctex_node_p node);
 
  351synctex_node_p synctex_node_arg_sibling(synctex_node_p node);
 
  352synctex_node_p synctex_node_next(synctex_node_p node);
 
  363synctex_node_p synctex_sheet(synctex_scanner_p scanner, 
int page);
 
  364synctex_node_p synctex_sheet_content(synctex_scanner_p scanner, 
int page);
 
  365synctex_node_p synctex_form(synctex_scanner_p scanner, 
int tag);
 
  366synctex_node_p synctex_form_content(synctex_scanner_p scanner, 
int tag);
 
  370void synctex_node_log(synctex_node_p node);
 
  371void synctex_node_display(synctex_node_p node);
 
  376int synctex_node_h(synctex_node_p node);
 
  377int synctex_node_v(synctex_node_p node);
 
  378int synctex_node_width(synctex_node_p node);
 
  379int synctex_node_height(synctex_node_p node);
 
  380int synctex_node_depth(synctex_node_p node);
 
  386int synctex_node_box_h(synctex_node_p node);
 
  387int synctex_node_box_v(synctex_node_p node);
 
  388int synctex_node_box_width(synctex_node_p node);
 
  389int synctex_node_box_height(synctex_node_p node);
 
  390int synctex_node_box_depth(synctex_node_p node);