DataMuseum.dk

Presents historical artifacts from the history of:

Regnecentalen RC-900

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Regnecentalen RC-900

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦c69c0602d⟧ TextFile

    Length: 2183 (0x887)
    Types: TextFile
    Notes: UNIX file
    Names: »imc.h«

Derivation

└─⟦22cab2c1b⟧ Bits:30004042/kcaddon.imd SW95705I 386/ix Multi-user Release 1.2
└─⟦22cab2c1b⟧ UNIX Filesystem
    └─⟦this⟧ »KC/new/usr/include/sys/imc.h« 

TextFile

/* imc.h 85.09.27 */
/* jenh  87.03.24 overf|rt fra rc39 til xyz */
/* jenh  87.07.01 page baseret data flytning */
/* jenh  88.08.09 link handler */

#define IMCNAMESIZE 12
#define XE_OPEN 0
#define XE_CLOSE		1
#define XE_CON			2
#define XE_DISC			3
#define XE_GETC			4
#define XE_S			5
#define XE_SN			6
#define XE_SL			7
#define XE_R			8
#define XE_RA			9
#define XE_RL			10
#define XE_RESET		11
#define XE_GN			12
#define XE_TESTPORT		13
#define XE_RESETPORT	14
#define XE_ALIAS		15
#define CONT			11	/* S_CONT,... */

#define XE_MORE			1

struct port {
  struct chain chain;
  int owner;
  ushort p_ident;
  char p_no;
  char p_unitno;
  char p_error;
};
\f


struct d_page {
  union {
    struct d_os {
      ushort dp_offset;
      ushort dp_segment;
    } d_os;
    long d_ptr;
  } d_union;
  ushort d_count;		/* 0 .. NBPP (4K) */
};

#define d_addr		d_union.d_ptr
#define d_offset	d_union.d_os.dp_offset
#define d_segment	d_union.d_os.dp_segment

/* offset */ struct imc_in {
/*  0H,1H */   char r_unit, r_gate;
/*  2H,3H */   char r_type, r_result;
/*     4H */   ushort r_ident;
/*     6H */   ushort r_portident;
/*  8H,9H */   char r_port, r_index;
/*     AH */   ushort r_count;
/*     CH */   char r_fill[20];
/*    20H */ };

/* offset */ struct imc_nameout {
/*  0H,1H */   char x_unit, x_gate;
/*  2H,3H */   char x_type, x_spec; 
/*     4H */   ushort x_ident;
/*     6H */   ushort x_portident;
/*  8H,9H */   char x_port, x_index;
/*     AH */   char x_scope,
/*     BH */        x_name[IMCNAMESIZE];
/*    17H */   char x_fill;
/*    18H */   struct d_page x_sl_page;
/*    20H */ };

#define x_sl_count		x_sl_page.d_count
#define x_sl_addr		x_sl_page.d_union.d_ptr
#define x_sl_offset		x_sl_page.d_union.d_os.dp_offset
#define x_sl_segment	x_sl_page.d_union.d_os.dp_segment

/* offset */ struct imc_out {
/*  0H,1H */   char x_unit, x_gate;
/*  2H,3H */   char x_type, x_spec; 
/*     4H */   ushort x_ident;
/*     6H */   ushort x_portident;
/*  8H,9H */   char x_port, x_index;
/*     AH */   short x_count;
/*     CH */   char x_pages[20];        /* this should be struct */
/*		  */ };                         /* d_page[3], x_count4   */

#define	NE_SIZE	23