Subversion Repositories pentevo

Rev

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

  1. #ifndef _ADDRSPACE_H
  2. #define _ADDRSPACE_H
  3. /* addrspace.h */
  4. /*****************************************************************************/
  5. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  6. /*                                                                           */
  7. /* AS                                                                        */
  8. /*                                                                           */
  9. /* Address Space enumeration                                                 */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12.  
  13. /* NOTE: these constants are used in the .P files, so DO NOT CHANGE existing
  14.    enums; only attach new enums at the end! */
  15.  
  16. typedef enum
  17. {
  18.   SegNone  = 0,
  19.   SegCode  = 1,
  20.   SegData  = 2,
  21.   SegIData = 3,
  22.   SegXData = 4,
  23.   SegYData = 5,
  24.   SegBData = 6,
  25.   SegIO    = 7,
  26.   SegReg   = 8,
  27.   SegRData = 9,
  28.   SegEEData = 10,
  29.   SegCount = 11,
  30.   StructSeg = SegCount,
  31.   SegCountPlusStruct = 12
  32. } as_addrspace_t;
  33.  
  34. #ifdef __cplusplus
  35. #include "cppops.h"
  36. DefCPPOps_Enum(as_addrspace_t)
  37. #endif
  38.  
  39. extern const char *SegNames[SegCountPlusStruct];
  40. extern char SegShorts[SegCountPlusStruct];
  41.  
  42. extern as_addrspace_t addrspace_lookup(const char *p_name);
  43.  
  44. #endif /* _ADDRSPACE_H */
  45.