Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. #ifndef _LITERALS_H
  2. #define _LITERALS_H
  3. /* literals.h */
  4. /*****************************************************************************/
  5. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  6. /*                                                                           */
  7. /* AS-Portierung                                                             */
  8. /*                                                                           */
  9. /* Literal Handling Functions                                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12.  
  13. #include <stddef.h>
  14. #include "datatypes.h"
  15. #include "symbolsize.h"
  16.  
  17. typedef struct as_literal
  18. {
  19.   struct as_literal *p_next;
  20.   LongInt value, f_count;
  21.   tSymbolSize size;
  22.   Boolean is_forward;
  23.   Integer pass_no;
  24.   LongInt def_section;
  25. } as_literal_t;
  26.  
  27. extern as_literal_t *p_first_literal;
  28.  
  29. extern LongInt literal_forward_count;
  30.  
  31. extern void literals_chk_alldone(void);
  32.  
  33. extern as_literal_t *literals_new(void);
  34.  
  35. extern void literals_free(as_literal_t* p_literal);
  36.  
  37. extern const char *literals_get_name(const as_literal_t *p_lit, char *p_result, size_t result_size);
  38.  
  39. struct sStrComp;
  40. extern void literal_make(struct sStrComp *p_comp, Byte *p_data_offset, LongInt value, tSymbolSize value_size, Boolean force_create);
  41.  
  42. typedef LargeInt (*literal_dump_fnc_t)(const as_literal_t *p_lit, struct sStrComp *p_name);
  43. extern void literals_dump(literal_dump_fnc_t dump, tSymbolSize value_size, LongInt section_handle, Boolean compress);
  44.  
  45. extern void literals_print(void);
  46.  
  47. extern void literals_init(void);
  48.  
  49. #endif /* _LITERALS_H */
  50.