1 03/08/85  dprint_
  2 
  3 
  4 This subroutine contains several entry points used to submit requests
  5 to the I/O daemon for printing or punching of segments and multisegment
  6 files.
  7 
  8 
  9 Entry points in dprint_:
 10    (List is generated by the help command)
 11 
 12 
 13 :Entry: dprint_: 03/08/85 dprint_
 14 
 15 
 16 Function:
 17 The dprint_ entry point adds a request to print, punch, or plot a
 18 segment or multisegment file to the specified queue.
 19 
 20 
 21 Syntax:
 22 declare dprint_ entry (char(*), char(*), ptr, fixed bin(35));
 23 call dprint_ (dir_name, entryname, dprint_arg_ptr, code);
 24 
 25 
 26 Arguments:
 27 dir_name
 28    is the absolute pathname of the containing directory.  (Input)
 29 entryname
 30    is the entry name of the segment, multisegment file, or link to the
 31    segment or multisegment file to be printed, punched, or plotted.
 32    (Input)
 33 dprint_arg_ptr
 34    is a pointer to the dprint_arg structure (described in system
 35    include file dprint_arg.incl.pl1) that defines the options for
 36    this request.  If this pointer   is null, the default settings are
 37     used for all options.  (Input)
 38 code
 39    is a standard status code.  (Output)
 40 
 41 
 42 Notes: The dprint_ subroutine uses the structure, defined in
 43 the system include file dprint_arg.incl.pl1, to determine the details
 44 of the request.  If no structure is supplied, default values are used.
 45 
 46 
 47 :Entry: check_daemon_access: 03/08/85 dprint_$check_daemon_access
 48 
 49 
 50 Function: This entry point checks the I/O daemon's access to a given
 51 segment or multisegment file.  It returns whether the daemon
 52 responsible for a given request type has "r" access to the file and "s"
 53 access to the containing directory and whether the I/O daemon
 54 coordinator can delete the file if requested.
 55 
 56 
 57 Syntax:
 58 declare dprint_$check_daemon_access entry (char(*), char(*), char(*),
 59      bit(1) aligned, bit(1) aligned, bit(1) aligned, char(*),
 60      fixed bin(35));
 61 call dprint_$check_daemon_access (dirname, entryname, request_type,
 62      delete_permission, read_permission, status_permission,
 63      driver_userid, code);
 64 
 65 
 66 Arguments:
 67 dirname
 68    is the absolute pathname of the containing directory.  (Input)
 69 entryname
 70    is the entry name of the segment, or multisegment file, or a link to
 71    the segment or multisegment file for which the daemon's access is to
 72    be checked.  (Input)
 73 request_type
 74    is the name of the request type in which a request to print, punch
 75    or plot the file will be placed.  The access of the driver process
 76    for this request type will be returned.  (Input)
 77 delete_permission
 78    indicates whether the I/O coordinator has sufficient access to
 79    delete the file if requested.  The coordinator requires "m" access
 80    to the containing directory to delete the file.  (Output)
 81 
 82 
 83 read_permission
 84    indicates whether the driver process of the given request type has
 85    "r" access to the given segment or multisegment file.  (Output)
 86 status_permission
 87    indicates whether the driver process of the given request type has
 88    "s" access to the directory containing the segment or multisegment
 89    file.  (Output)
 90 driver_userid
 91    is the name of the process that processes requests for the specified
 92    type.  This value is in the form "Person_id.Project_id.*".  (Output)
 93 code
 94    is a standard system status code.  (Output)
 95 
 96 
 97 Notes: The user must have "s" access to the directory containing the
 98 segment or multisegment file to determine whether the driver has read
 99 access to the file.
100 
101 The user must have "s" access to the directory containing the directory
102 containing the segment or multisegment file in order to determine
103 whether the I/O coordinator can delete the file and whether the driver
104 process has "s" access to the containing directory.
105 
106 
107 :Entry: queue_contents: 03/08/85 dprint_$queue_contents
108 
109 
110 Function: This entry point returns the number of requests in a
111 specific I/O daemon queue.
112 
113 
114 Syntax:
115 declare dprint_$queue_contents entry (char(*), fixed bin, fixed bin,
116      fixed bin(35));
117 call dprint_$queue_contents (request_type, queue, n_requests, code);
118 
119 
120 Arguments:
121 request_type
122    is the name of the request type whose queue is to be checked.
123    (Input)
124 queue
125    is the number of the queue to be examined.  If -1 is specified, the
126    default queue of the given request type is checked and the number of
127    the default queue is returned in this parameter.  (Input/Output)
128 n_requests
129    is the number of requests in the specified queue.  (Output)
130 code
131    is a standard system status code.  (Output)
132 
133 
134 :Entry: request_id: 11/27/85 dprint_$request_id
135 
136 
137  The request_id entry point adds a request to print, punch, or plot a
138  segment or multisegment file to the specified queue, and returns the
139  message identifier of the queue entry being made.
140 
141 
142  Syntax:
143  declare dprint_$request_id entry (char(*), char(*), ptr, fixed bin (71),
144         fixed bin(35));
145  call dprint_$request_id (dir_name, entryname, arg_ptr, request_id,
146         code);
147 
148 
149  Arguments:
150  dir_name
151     is the absolute pathname of the containing directory.  (Input)
152  entryname
153     is the entry name of the segment, multisegment file, or link to the
154     segment or multisegment file to be printed, punched, or plotted.
155     (Input)
156  dprint_arg_ptr
157     is a pointer to the dprint_arg structure (described in system
158     include file dprint_arg.incl.pl1) that defines the options for
159     this request.  If this pointer   is null, the default settings are
160     used for all options.  (Input)
161  request_id
162     is the message identifier of the request being enqueued. (Output)
163  code
164     is a standard status code.  (Output)
165 
166 
167  Notes: The dprint_$request_id entry uses the structure defined in
168  the system include file dprint_arg.incl.pl1 to determine the details
169  of the request.  If no structure is supplied, default values are used.