head     56.3;
access   bayes jwh jws quist dew;
symbols  ;
locks    ; strict;
comment  @# @;


56.3
date     93.01.27.13.26.00;  author jwh;  state Exp;
branches ;
next     56.2;

56.2
date     93.01.27.12.04.44;  author jwh;  state Exp;
branches ;
next     56.1;

56.1
date     91.11.05.09.45.58;  author jwh;  state Exp;
branches ;
next     55.1;

55.1
date     91.08.25.10.23.25;  author jwh;  state Exp;
branches ;
next     54.1;

54.1
date     91.03.18.15.26.52;  author jwh;  state Exp;
branches ;
next     53.1;

53.1
date     91.03.11.19.27.57;  author jwh;  state Exp;
branches ;
next     52.1;

52.1
date     91.02.19.09.11.56;  author jwh;  state Exp;
branches ;
next     51.1;

51.1
date     91.01.30.16.11.37;  author jwh;  state Exp;
branches ;
next     50.1;

50.1
date     90.10.29.16.26.22;  author jwh;  state Exp;
branches ;
next     49.1;

49.1
date     90.08.14.14.10.37;  author jwh;  state Exp;
branches ;
next     48.1;

48.1
date     90.07.26.11.16.47;  author jwh;  state Exp;
branches ;
next     47.1;

47.1
date     90.05.14.10.59.30;  author dew;  state Exp;
branches ;
next     46.1;

46.1
date     90.05.07.08.46.39;  author jwh;  state Exp;
branches ;
next     45.1;

45.1
date     90.04.19.15.54.28;  author jwh;  state Exp;
branches ;
next     44.1;

44.1
date     90.04.01.22.11.39;  author jwh;  state Exp;
branches ;
next     43.1;

43.1
date     90.03.20.14.03.30;  author jwh;  state Exp;
branches ;
next     42.1;

42.1
date     90.01.23.17.48.16;  author jwh;  state Exp;
branches ;
next     41.1;

41.1
date     89.12.22.11.30.24;  author jwh;  state Exp;
branches ;
next     40.1;

40.1
date     89.09.29.11.52.24;  author jwh;  state Exp;
branches ;
next     39.1;

39.1
date     89.09.26.16.36.37;  author dew;  state Exp;
branches ;
next     38.1;

38.1
date     89.08.29.11.28.45;  author jwh;  state Exp;
branches ;
next     37.1;

37.1
date     89.05.12.11.41.08;  author dew;  state Exp;
branches ;
next     36.1;

36.1
date     89.02.06.10.19.28;  author dew;  state Exp;
branches ;
next     35.1;

35.1
date     89.02.02.13.34.24;  author dew;  state Exp;
branches ;
next     34.1;

34.1
date     89.01.23.16.09.26;  author jwh;  state Exp;
branches ;
next     33.1;

33.1
date     89.01.16.11.41.29;  author dew;  state Exp;
branches ;
next     32.1;

32.1
date     89.01.10.11.50.04;  author bayes;  state Exp;
branches ;
next     31.1;

31.1
date     88.12.14.18.11.14;  author bayes;  state Exp;
branches ;
next     30.1;

30.1
date     88.12.09.13.48.09;  author dew;  state Exp;
branches ;
next     29.2;

29.2
date     88.12.09.10.30.57;  author dew;  state Exp;
branches ;
next     29.1;

29.1
date     88.10.31.15.33.07;  author bayes;  state Exp;
branches ;
next     1.1;

1.1
date     88.10.27.10.47.53;  author dew;  state Exp;
branches ;
next     ;


desc
@Include text for IOMPX interface.
@


56.3
log
@
pws2rcs automatic delta on Wed Jan 27 13:14:25 MST 1993
@
text
@  CONST
    iompx_request = hex('4D50585E'); { MPX^ }
    iompx_answer  = 'IOMPX READY';
  TYPE
    BUFxINFOxPTR = ^buf_info_type;
    iompx_rec_ptr = ^iompx_rec;
    iompx_rec = record                                  { a registration record }
		  next        : iompx_rec_ptr;  { pointer to next record }
		  user_buffer : BUFxINFOxPTR;   { buffer involved in the transfer }
		  user_area   : anyptr;         { pointer to optional scratch area }
		  in_buffer   : BUFxINFOxPTR;   { pointer to data comming from interface }
		  ops_proc    : io_proc_vb;     { WRAPPER/CHECKER procedure }
		  scode       : type_isc;       { select code of the associated interface }
		end;
    {
      the user_area is intended for the use of the ops_proc
      (it is not used by any system code)
      in_buffer is only valid at the time ops_proc is called as part of a TO_MEMORY
      type of transfer
    }
    iompx_sc_rec = record                               { a list head record  }
		     wrappers,                          { one per select code }
		     wtail,
		     checkers,
		     ctail   : iompx_rec_ptr;
		     capable : boolean;
		     { padding to long word desired }
		   end;
    isc_iompx_type = array[minrealisc..maxrealisc] of iompx_sc_rec;

    register_iompx_proc = procedure (device        : type_device;       { select code }
				     t_dir         : dir_of_tfr;        { input / output }
				     VAR b_info    : buf_info_type;     { buffer to register }
				     VAR reg_rec   : iompx_rec;         { registration record }
				     front         : boolean;           { register first or last }
				     user_temps    : anyptr;            { user scratch area }
				     operations    : io_proc_vb);       { wrapper/recognizer }

    unregister_iompx_proc = procedure (device      : type_device;       { select code }
				       t_dir       : dir_of_tfr;        { input / output }
				       VAR b_info  : buf_info_type);    { buffer to unregister }

    iompx_scanner_proc = procedure (working    : BUFxINFOxPTR;
				    VAR target : BUFxINFOxPTR);

    find_iompx_buf_proc =procedure (device     : type_device;           { select code }
				    t_dir      : dir_of_tfr;            { TO / FROM_MEMORY }
				    VAR b_info : buf_info_type;         { buffer to find }
				    VAR reg_rec: iompx_rec_ptr);        { registration record
									  containing b_info as
									  user_buffer }

    iompx_info_ptr = ^iompx_info_rec;
    iompx_info_rec = record                                             { the interface record }
		       isc_iompx_table : isc_iompx_type;
		       register_iompx_buf   : register_iompx_proc;
		       unregister_iompx_buf : unregister_iompx_proc;
		     { the following are for driver interface only  }
		       iompx_scanner   : iompx_scanner_proc;
		       find_iompx_buf  : find_iompx_buf_proc;
		     end;
    iompx_ans_ptr  = ^iompx_ans_rec;
    iompx_ans_rec  = record
		       case integer of
		       1:(s : io_string);
		       2:(s5  : string[11];
			  ptr : iompx_info_ptr);
		     end;

@


56.2
log
@
pws2rcs automatic delta on Wed Jan 27 11:57:27 MST 1993
@
text
@d1 69
@


56.1
log
@Automatic bump of revision number for PWS version 3.25
@
text
@a0 69
  CONST
    iompx_request = hex('4D50585E'); { MPX^ }
    iompx_answer  = 'IOMPX READY';
  TYPE
    BUFxINFOxPTR = ^buf_info_type;
    iompx_rec_ptr = ^iompx_rec;
    iompx_rec = record                                  { a registration record }
		  next        : iompx_rec_ptr;  { pointer to next record }
		  user_buffer : BUFxINFOxPTR;   { buffer involved in the transfer }
		  user_area   : anyptr;         { pointer to optional scratch area }
		  in_buffer   : BUFxINFOxPTR;   { pointer to data comming from interface }
		  ops_proc    : io_proc_vb;     { WRAPPER/CHECKER procedure }
		  scode       : type_isc;       { select code of the associated interface }
		end;
    {
      the user_area is intended for the use of the ops_proc
      (it is not used by any system code)
      in_buffer is only valid at the time ops_proc is called as part of a TO_MEMORY
      type of transfer
    }
    iompx_sc_rec = record                               { a list head record  }
		     wrappers,                          { one per select code }
		     wtail,
		     checkers,
		     ctail   : iompx_rec_ptr;
		     capable : boolean;
		     { padding to long word desired }
		   end;
    isc_iompx_type = array[minrealisc..maxrealisc] of iompx_sc_rec;

    register_iompx_proc = procedure (device        : type_device;       { select code }
				     t_dir         : dir_of_tfr;        { input / output }
				     VAR b_info    : buf_info_type;     { buffer to register }
				     VAR reg_rec   : iompx_rec;         { registration record }
				     front         : boolean;           { register first or last }
				     user_temps    : anyptr;            { user scratch area }
				     operations    : io_proc_vb);       { wrapper/recognizer }

    unregister_iompx_proc = procedure (device      : type_device;       { select code }
				       t_dir       : dir_of_tfr;        { input / output }
				       VAR b_info  : buf_info_type);    { buffer to unregister }

    iompx_scanner_proc = procedure (working    : BUFxINFOxPTR;
				    VAR target : BUFxINFOxPTR);

    find_iompx_buf_proc =procedure (device     : type_device;           { select code }
				    t_dir      : dir_of_tfr;            { TO / FROM_MEMORY }
				    VAR b_info : buf_info_type;         { buffer to find }
				    VAR reg_rec: iompx_rec_ptr);        { registration record
									  containing b_info as
									  user_buffer }

    iompx_info_ptr = ^iompx_info_rec;
    iompx_info_rec = record                                             { the interface record }
		       isc_iompx_table : isc_iompx_type;
		       register_iompx_buf   : register_iompx_proc;
		       unregister_iompx_buf : unregister_iompx_proc;
		     { the following are for driver interface only  }
		       iompx_scanner   : iompx_scanner_proc;
		       find_iompx_buf  : find_iompx_buf_proc;
		     end;
    iompx_ans_ptr  = ^iompx_ans_rec;
    iompx_ans_rec  = record
		       case integer of
		       1:(s : io_string);
		       2:(s5  : string[11];
			  ptr : iompx_info_ptr);
		     end;

@


55.1
log
@Automatic bump of revision number for PWS version 3.25A
@
text
@@


54.1
log
@Automatic bump of revision number for PWS version 3.24
@
text
@@


53.1
log
@Automatic bump of revision number for PWS version 3.24B
@
text
@@


52.1
log
@Automatic bump of revision number for PWS version 3.24A
@
text
@@


51.1
log
@Automatic bump of revision number for PWS version 3.24d
@
text
@@


50.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@@


49.1
log
@Automatic bump of revision number for PWS version 3.24b
@
text
@@


48.1
log
@Automatic bump of revision number for PWS version 3.24a
@
text
@@


47.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


46.1
log
@Automatic bump of revision number for PWS version 3.23
@
text
@@


45.1
log
@Automatic bump of revision number for PWS version 3.23C
@
text
@@


44.1
log
@Automatic bump of revision number for PWS version 3.23B
@
text
@@


43.1
log
@Automatic bump of revision number for PWS version 3.23aA
@
text
@@


42.1
log
@Automatic bump of revision number for PWS version 3.23e
@
text
@@


41.1
log
@Automatic bump of revision number for PWS version 3.23d
@
text
@@


40.1
log
@Automatic bump of revision number for PWS version 3.23c
@
text
@@


39.1
log
@Automatic bump of revision number for PWS version 3.23b
@
text
@@


38.1
log
@Automatic bump of revision number for PWS version 3.23a
@
text
@@


37.1
log
@Automatic bump of revision number for PWS version 3.3a
@
text
@@


36.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


35.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


34.1
log
@Automatic bump of revision number for PWS version 3.22
@
text
@@


33.1
log
@Automatic bump of revision number for PWS version 3.22D
@
text
@@


32.1
log
@Automatic bump of revision number for PWS version 3.22C
@
text
@@


31.1
log
@Automatic bump of revision number for PWS version 3.22B
@
text
@@


30.1
log
@Automatic bump of revision number for PWS version 3.22A
@
text
@@


29.2
log
@added more comments
QUIST

(Done because of the newci/ci massive diff problems).
@
text
@@


29.1
log
@Automatic bump of revision number for PWS version 3.22b
@
text
@d8 6
a13 6
		  next        : iompx_rec_ptr;
		  user_buffer : BUFxINFOxPTR;
		  user_area   : anyptr;
		  in_buffer   : BUFxINFOxPTR;
		  ops_proc    : io_proc_vb;
		  scode       : type_isc;
d15 6
d25 1
a25 1
		     dtail   : iompx_rec_ptr;
@


1.1
log
@Initial revision
@
text
@@
