A queue is a bindery object with the item property Q_DIRECTORY. Q_DIRECTORY has associated with it a 128-byte, null-terminated segment (the value) containing the directory path name of a directory where queued files can be created and maintained. The Q_DIRECTORY property normally contains the directory path SYS:SYSTEM\QUEUE_ID_#; in this directory path, QUEUE_ID_# is the unique Object ID number by which the queue is known to the bindery.
A queue consists of the following:
The item property Q_DIRECTORY containing the associated directory path of the queue directory where queue job files are located.
The set property Q_SERVERS containing a list of all servers authorized to service jobs in (or remove jobs from) the queue. Property security should be 0x30.
The set property Q_OPERATORS containing a list of all objects (users) authorized to manipulate the queue. Property security should be 0x32.
A queue can also have the set property Q_USERS containing a list of all user objects authorized to use the queue. If this property does not exist, any object can use the queue. Property security should be 0x30.
Job Structure Definition
This section illustrates the structure used for job control information in regards to Queueing services. There are two structures: one for NetWare versions prior to NetWare v3.x and one for NetWare versions from NetWare v3.x and above.
A queue can hold from 0 to 250 jobs. Jobs are numbered from 1 to 999. A queue can be serviced by as many as 25 job servers. The job structure for versions of NetWare prior to v3.x has a fixed length of 256 bytes.
JobStruct Format (Versions of NetWare prior to 3.x)
Offset Content Type 0 ClientStation byte 1 ClientTaskNumber byte 2 ClientIDNumber long (Hi-Lo) 6 TargetServerIDNumber long (Hi-Lo) 10 TargetExecutionTime byte [6] 16 JobEntryTime byte [6] 22 JobNumber word (Hi-Lo) 24 JobType word (Hi-Lo) 26 JobPosition byte 27 JobControlFlags byte 28 JobFileName byte [14] 42 JobFileHandle byte 48 ServerStation byte 49 ServerTaskNumber byte 50 ServerIDNumber long (Hi-Lo) 54 TextJobDescription byte [50] 104 ClientRecordArea byte [152]
JobStruct Format (NetWare 3.x and above)
Offset Content Type 0 RecordInUse word (Lo-Hi) 2 PreviousRecord long (Lo-Hi) 6 NextRecord long (Lo-Hi) 10 ClientStation long (Lo-Hi) 14 ClientTaskNumber long (Lo-Hi) 18 ClientIDNumber long (Hi-Lo) 22 TargetServerIDNumber long (Hi-Lo) 26 TargetExecutionTime byte [6] 32 JobEntryTime byte [6] 38 JobNumber long (Lo-Hi) 42 JobType word (Lo-Hi) 44 JobPosition word (Lo-Hi) 46 JobControlFlags word (Lo-Hi) 48 JobFileName byte [14] 62 JobFileHandle long (Hi-Lo) 66 ServerStation long (Lo-Hi) 70 ServerTaskNumber long (Lo-Hi) 74 ServerIDNumber long (Hi-Lo) 78 TextJobDescription byte [50] 128 ClientRecordArea byte [152]
Fields of the Job Structures
Record In Use (NetWare 386 v3.0 and above) is a flag indicating whether or not the record is in use.
Previous Record (NetWare 386 v3.0 and above) contains a pointer to the previous record.
Next Record (NetWare 386 v3.0 and above) contains a pointer to the next record.
Client Station contains the connection number of the station that placed the job in the queue. When a new job is placed in a queue, the file server automatically creates a file for this station and gives the station read and write access to the file. The queue management process (in the file server), not the client, sets this field.
Client Task Number contains the number of the task that was active when the job was placed in the queue. The job queue file is created for this task. This field is filled in by the queue management process.
Client ID Number contains the object ID number of the user logged in to the station making the queue entry. This field is filled in by the queue management process.
Target Server ID Number contains the ID number of the server the client specifies to service this entry. The client sets this field to -1L if this entry can be serviced by any server. If the specified server is not authorized to service the queue, the job is rejected. This field must be supplied by the client creating the queue job.
Target Execution Time contains the earliest time that the queue client is willing to have the job serviced. The time is in the format of year, month, day, hour, minute, second. If this field is set to 0xFFFFFFFFFFFF, the job will be serviced at the first opportunity. This field must be supplied by the client creating the queue job.
Job Entry Time contains the time that the job entered the queue. The time is in the format of year, month, day, hour, minute, second and is taken from the system clock of the file server. This field is filled in by the queue management process.
Job Number contains a unique number that servers or clients can use when referring to this queue entry. The Job Number is assigned by the queue management process when the job is created.
Job Type contains a number that clients and servers can use to indicate the type of job represented by the queue entry. A server can specify that it will service only the entries for particular job types. This way, a queue can be used to hold entries for jobs requiring different types of service. This field must be supplied by the client creating the queue job. Job Type -1 must not be used.
Job Position indicates the job's position within the queue. The first job will be placed at the head of the queue and will be assigned position number 1; the second job will be placed behind the first one and will be assigned position number 2, and so on. As jobs are removed from the queue, the position numbers of the remaining jobs are updated to reflect their changing position within the queue. This number is assigned and maintained by the queue management process.
Job Control Flags contains bits indicating the current status of the job. The possible values for and descriptions of the Job Control Flags field are listed below:
0x80 Operator Hold Flag
This bit is set if the entry has been placed on hold by an operator. Jobs placed on hold continue to advance toward the front of the queue, but they will not be serviced until the hold bit has been cleared. This bit can be set or cleared only by an operator.
0x40 User Hold Flag
This bit is set if the entry has been placed on hold by the client that created the entry. Jobs placed on hold continue to advance toward the front of the queue, but they will not be serviced until the hold bit has been cleared. This bit can be set or cleared either by the client that created the entry or by an operator.
0x20 Entry Open Flag
This bit indicates whether the queue entry and the associated queue file have been marked ready for service by the client. When an entry is first created, this bit is set to indicate that the file associated with the entry has not yet been closed by the client. When the client indicates that it has finished preparing the queue entry and the queue file, then the file is closed and this bit is cleared. This bit is managed by the queue management process.
0x10 Service Restart Flag
This bit is set if the queue entry is to be reserviced if the server fails. A server can indicate that it was unable to finish servicing a job and has aborted service. In addition, servers that break their connection with the file server without signaling successful completion of service on outstanding jobs are assumed to have aborted service on those jobs. If service is aborted for an entry with this bit set, the entry will remain in its same position in the service queue and will be readied for reservice at a later time. If service is aborted for an entry with this bit cleared, the entry will be removed from the queue and will not be reserviced. This bit can be set or cleared either by the client that created the entry or by an operator.
0x08 Service Auto-start Flag
This bit is set if the queue job should automatically be started even if the client's connection is broken (the station is turned of for the client logs out) before the client signals that the job is ready to be queued. If this bit is cleared, the job will be removed from the queue if the creating station destroys its connection with the file server before signaling that the entry is ready for service. If this bit is set, the job will automatically be marked ready for service when a station's connection is lost. This bit can be set or cleared either by the client that created the entry or by an operator.
Job File Name contains the name of the file (in DOS 8.3 format) that holds data associated with this queue entry. When a client creates a queue entry, the queue management process creates a file with a unique name in the queue directory and grants the queue client read and write access to the file.
Job File Handle contains a file handle that a job client or job server can use to access the file associated with an opened job. (The name of the opened file is recorded in the Job File Name field.) This file handle is in standard NetWare format. NetWare shells provide hooks to allow applications to open the special NETQ device after opening a queue job to attach this file handle to a DOS file. Applications can then use standard DOS calls to access the job file. This field
is set by the queue management process.
Server Station contains the station number of the queue server servicing the job. When no server is servicing the job, the value of this field is undefined. This field is maintained by the queue management process.
Server Task Number contains the task number of the queue server servicing the job. When no server is servicing the job, the value of this field is undefined. This field is maintained by the queue management process.
Server ID Number contains the ID number of the queue server servicing the job. If there is no server currently servicing the job, the value of this field is undefined. This field is maintained by the queue management process.
Text Job Description contains a null-terminated ASCII text description of the contents or purpose of the job. This text can be displayed by queue management applications as part of the job description. This field must be supplied by the client creating the queue job.
Client Record Area contains supplementary information that can be exchanged between the queue client and the queue server. The information can take any format agreed upon by both the client and the server. This field must be supplied by the client creating the queue job.
Status Flags and Completion Codes
Possible values for the Status Flags returned include the following:
| Value | Definition |
|---|---|
| 1 (0x01) | Queue Server Cannot Add Jobs |
| 2 (0x02) | Queue Servers Cannot Attach |
| 4 (0x04) | Queue Server Cannot Service Job |
Possible values for Completion Codes include the following:
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (132) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Close File and Start Queue Job (0x2222 23 127)
Finish Servicing Queue Job (0x2222 23 131)
Create Queue Job And File (0x2222 23 121)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (115) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call allows a server to inform the queue manager that it cannot complete servicing a job previously accepted for service. This function closes the job file and resets the calling server's access rights to the file server to their original (login) values.
This call also checks a job's Service Restart flag to ensure that the job can be restarted automatically after a server failure. If the Service Restart flag is set, the job's Server Station, Server Task, and Server ID Number fields are cleared, and the job remains in its current position in the queue. If the Service Restart flag is zero, the job entry is destroyed, and the job file is deleted.
An aborted job returns to its former position in the job queue if its Service Restart flag is set. For example, if a job was at the beginning of the queue before being called, it would return to the beginning of the queue after being aborted. An aborted job could, therefore, be next in line for service. For this reason, a server should not abort a job because of an error in the job's format or requests; the server should use the Finish Servicing a Queue Job call to remove the job from the queue.
A server should abort a job only if some temporary internal problem prevents it from completing that job. For example, a printer server might abort a job if the paper in the printer jammed; when the print server calls the same job after the paper jam is fixed, it should be able to service the job successfully. A server should not abort a job that is attempting to access data without proper security clearance; if aborted, the job would remain in the queue and be serviced and aborted again and again.
Only a queue server that has previously accepted a job for service can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Close File And Start Queue Job (0x2222 23 105)
Finish Servicing Queue Job (0x2222 23 114)
Create Queue Job And File (0x2222 23 104)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5) word (Hi-Lo) 9 SubFunctionCode (111) byte 10 QueueID long (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 234 0xEA No Such Number 252 0xFC No Such Object 255 0xFF Failure
Remarks
This call allows a station to attach itself to a specified queue as a queue server so that it can service jobs from the queue. A queue can have as many as 25 servers attached to it at a time. If 25 servers are already attached to the target queue, a Maximum Queue Servers error is returned.
The station making this call must be security equivalent to one of the objects listed in the queue's Q_SERVERS group property. See Introduction to Queue NCPs for information on the job structure.
See Also
Detach Queue Server From Queue (0x2222 23 112)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (13) word (Hi-Lo) 9 SubFunction (130) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi) 18 Priority long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Change Queue Job Entry (0x2222 23 123)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5+JobStructure) word (Hi-Lo) 9 SubFunction (123) byte 10 QueueID long (Hi-Lo) 14 JobStructure (See Intro) structure
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Change Job Priority (0x2222 23 130)
Change Queue Job Entry (0x2222 23 123)
Get Queue Job List (0x2222 23 129)
Get Queue Job File Size (0x2222 23 135)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5+JobStruct) word (Hi-Lo) 9 SubFunctionCode (109) byte 10 QueueID long (Hi-Lo) 14 JobStruct structure
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call allows a client to change information for a queue job entry.
The client selects the queue entry to be changed by designating the job number in the Job Number field of the Job Structure in the request message. The client can replace the information in the following fields:
| Target Server ID Number |
| Target Execution Time |
| Job Type |
| User Hold Flag |
| Service Restart Flag |
| Service Auto-Start Flag |
| Text Job Description |
| Client Record Area |
| Operator Hold Flag (If the calling client is an operator, this field can also be reset.) |
This call can be used with Read a Job Queue's Entry to change a portion of the job's record. However, if the target entry is already being serviced, a Queue Servicing error is returned and no changes are made to the job's record.
See Introduction to Queue NCPs for information on the old Job Structure.
The client that created the job or an operator can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Change Queue Job Position (0x2222 23 110)
Get Queue Job List (0x2222 23 107)
Get Queue Job File Size (0x2222 23 120)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (8) word (Hi-Lo) 9 SubFunctionCode (110) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo) 16 NewPosition byte
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 150 0x96 Server Out of Memory 208 0xD0 Queue Error 209 0xD1 No Queue 213 0xD5 No Queue Job 214 0xD6 No Job Rights 254 0xFE Bindery Locked 255 0xFF Bindery Failure
Remarks
This function changes a job's position in a queue. Position 1 is the first position and position 250 is the last position in a full queue. If an operator specifies a position number higher than the position number of the job currently at the end of the queue, the job is placed at the end of the queue. When a job is moved, the job positions of all job entries in the queue are updated to reflect the new positions.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Change Queue Job Entry (0x2222 23 109)
Get Queue Job List (0x2222 23 107)
Get Queue Job File Size (0x2222 23 120)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (133) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Restore Queue Server Rights (0x2222 23 117)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (116) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call allows a server to change its login identity to match that of the client. This call replaces the server's login user ID and associated security equivalence list with the ID and security equivalence list of the object (user) that placed the job in the job queue.
This call does not change any queue server path mappings (directory bases) on the file server. However, all access rights to those directories are re-calculated to conform with the client's rights. Any files opened before this call is made continue to be accessible with the server's rights; any files opened after this call is made are accessible only with the client's rights. After this call is made, the server creates any path mappings it requires to carry out the client's requests.
The Restore Server's Rights call can reverse the effects of the Change To Client Rights call. In addition, the server's rights are automatically reset if the server calls Finish Servicing Queue Job or Abort Servicing Queue Job.
Only a queue server that has previously accepted a job for service can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Restore Queue Server Rights (0x2222 23 117)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (127) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Create Queue Job And File (0x2222 23 121)
Abort Servicing Queue Job (0x2222 23 132)
Finish Servicing Queue Job (0x2222 23 131)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (105) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call closes a client's queue job and marks it ready for execution as listed below. The Job Number field contains the number that the queue management process assigned to the job when the job first entered the queue.
The queue file associated with the job is closed.
The Entry Open flag (in the Job Control Flags) is reset.
The entry is considered ready for service if the User Hold flag and the Operator Hold flag are both clear.
Only the client that created the queue job can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Create Queue Job And File (0x2222 23 104)
Abort Servicing Queue Job (0x2222 23 115)
Finish Servicing Queue Job (0x2222 23 114)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen * word (Hi-Lo) 9 SubFunctionCode (100) byte 10 QueueType word (Hi-Lo) 12 QueueNameLen byte 13 QueueName byte[QueueNameLen] 13+QueueNameLen PathBase byte 14+QueueNameLen PathLen byte 15+QueueNameLen PathName byte[PathLen]
* SubFuncStrucLen = 6 + QueueNameLen + PathLen
Reply Format
Offset Content Type (reply header) 8 QueueID long (Hi-Lo)
Completion Code
0 0x00 Successful 150 0x96 Server Out Of Memory 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 238 0xEE Object Already Exists 255 0xFF Failure
Remarks
This call creates the following:
Queue Name can be no longer than 47 characters. The path name of the directory, specified by the Path Base and Path Name fields, cannot be longer than 118 characters. A Path Base of zero, a Path Length of 10, and a Path Name string of "SYS:SYSTEM" are conventional.
Like other Queue Services calls, Create Queue is actually accomplished by Bindery Services calls. The main advantage of using this call is that the entire operation is backed out if any step of the creation process fails. Only a station with supervisor privileges can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Destroy Queue (0x2222 23 101)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5+JobStructure) word (Hi-Lo) 9 SubFunction (121) byte 10 QueueID long (Hi-Lo) 14 JobStructure (See Intro) structure
Reply Format
Offset Content Type (reply header) 8 RecordInUseFlag word (Lo-Hi) 10 PreviousRecord long (Lo-Hi) 14 NextRecord long (Lo-Hi) 18 ClientStation long (Lo-Hi) 22 ClientTask long (Lo-Hi) 26 ClientIDNumber long (Hi-Lo) 30 TargetServerIDNum long (Hi-Lo) 34 TargetExecutTime[6] byte 40 JobEntryTime[6] byte 46 JobNumber long (Lo-Hi) 50 JobType word (Lo-Hi) 52 JobPosition word (Lo-Hi) 54 JobControlFlags word (Lo-Hi) 56 JobFileName[14] byte 70 JobFileHandle long (Hi-Lo) 74 ServerStation long (Lo-Hi) 78 ServerTask long (Lo-Hi) 82 ServerIDNumber long (Hi-Lo)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Close File and Start Queue Job (0x2222 23 127)
Finish Servicing Queue Job (0x2222 23 131)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (261) word (Hi-Lo) 9 SubFunctionCode (104) byte 10 QueueID long (Hi-Lo) 14 Job JobStruct
Reply Format
Offset Content Type (reply header) 8 ClientStation byte 9 ClientTask byte 10 ClientIDNumber long (Hi-Lo) 14 TargetServerIDNumber long (Hi-Lo) 18 TargetExecutionTime byte[6] 24 JobEntryTime byte[6] 30 JobNumber word (Hi-Lo) 32 JobType word (Hi-Lo) 34 JobPosition byte 35 JobControlFlags byte 36 JobFileName byte[14] 50 JobFileHandle byte[6] 56 ServerStation byte 57 ServerTask byte 58 ServerIDNumber long (Hi-Lo)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 252 0xFC No Such Object 255 0xFF Failure
Remarks
This call enters a new job into a queue. The client must provide both the queue ID number to which the job should be appended and the entire 256-byte job record. The job record fields that the client must supply are
The queue management process fills in the job record and returns it (minus the Text Job Description and Client Record Area fields) to the calling station. All fields are initialized as outlined in the job field descriptions above. In particular, the queue management process creates a file whose name and handle are contained in the Job File Name and Job File Handle fields. The calling station can place information (commands, text, etc.) destined for the queue server in this file.
A client using a DOS workstation can open the NETQ device to attach the returned handle to the DOS file created by Create Queue Job And File.
Any station that is security equivalent to one of the objects listed in the target queue's Q_USER property can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Close File And Start Queue Job (0x2222 23 105)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5) word (Hi-Lo) 9 SubFunctionCode (101) byte 10 QueueID long (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call destroys the queue specified by Queue ID as follows:
Only a station with supervisor privileges can make this call.
See Introduction to Queue NCPs for information on the job structure.
See Also
Create Queue (0x2222 23 100)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5) word (Hi-Lo) 9 SubFunctionCode (112) byte 10 QueueID long (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call removes the calling station from a specified queue's list of active queue servers. A job's service is automatically aborted if the calling station is servicing a job.
Only a station that has previously attached itself to the queue as a server can make this call.
See Introduction to Queue NCPs for information on the job structure.
See Also
Attach Queue Server To Queue (0x2222 23 111)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (13) word (Hi-Lo) 9 SubFunction (131) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi) 18 ChargeInfo long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Close File and Start Queue Job (0x2222 23 127)
Create Queue Job And File (0x2222 23 121)
Abort Servicing Queue Job (0x2222 23 132)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunctionCode (114) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo) 16 ChargeInformation word (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call allows a queue server to signal the queue management process that it has successfully serviced a job. Finish Servicing Queue Job destroys the job entry, closes and deletes the job file, and restores the calling server's access rights to the file server to their original (login) value.
The queue manager does not currently support the Charge Info accounting information field; the queue manager will allow queue servers to charge their customers and to log accounting information in future NetWare releases.
Only a queue server that has previously accepted a job for service can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Create Queue Job And File (0x2222 23 104)
Abort Servicing Queue Job (0x2222 23 115)
Close File And Start Queue Job (0x2222 23 105)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (135) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi)
Reply Format
Offset Content Type (reply header) 8 QueueID long (Hi-Lo) 12 JobNumber long (Lo-Hi) 16 FileSize long (Hi-Lo)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Get Queue Job List (0x2222 23 129)
Read Queue Current Status (0x2222 23 125)
Read Queue Job Entry (0x2222 23 122)
Remove Job From Queue (0x2222 23 128)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (120) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo)
Reply Format
Offset Content Type (reply header) 8 QueueID long (Hi-Lo) 12 JobNumber word (Hi-Lo) 14 FileSize long (Hi-Lo)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call returns the current length of a file associated with a queue entry. If the queue entry is still open (not committed by its maker) or is in service, the entry size returned by this call does not necessarily reflect the final file size.
Any station security equivalent to an object listed in the queue's Q_USERS group property or Q_OPERATORS group property can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Get Queue Job List (0x2222 23 107)
Read Queue Current Status (0x2222 23 102)
Read Queue Job Entry (0x2222 23 108)
Remove Job From Queue (0x2222 23 106)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (129) byte 10 QueueID long (Hi-Lo) 14 QueueStartPosition long (Lo-Hi)
Reply Format
Offset Content Type (reply header) 8 TotalQueueJobs long (Lo-Hi) 12 ReplyQueueJobNumbers long (Lo-Hi) 16 JobNumberList[] long (Lo-Hi)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
The TotalQueueJobs field contains the number of jobs in the queue. The ReplyQueueJobNumbers field contains the number of jobs in the JobNumberList, with the maximum amount being 125 (in a reply packet).
See Also
Get Queue Job File Size (0x2222 23 135)
Read Queue Current Status (0x2222 23 125)
Read Queue Job Entry (0x2222 23 122)
Remove Job From Queue (0x2222 23 128)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5) word (Hi-Lo) 9 SubFunctionCode (107) byte 10 QueueID long (Hi-Lo)
Reply Format
Offset Content Type (reply header) 8 JobCount word (Hi-Lo) 10 JobNumber word[JobCount] (Hi-Lo)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call returns the list of jobs contained in the queue specified by Queue ID. The Job Count field contains the number of entries currently in the queue. The Job Number array contains a list of entries in their current queue order.
When used with Read Queue Job Entry (0x2222 108 --), this call returns the following information about all the jobs in a given queue:
If a call to read information about a job in the queue fails with a No Queue Job error, the calling station can assume that the job has been completed or that it has been deleted from the queue.
Any station security equivalent to an object listed in the queue's Q_USERS group property or Q_OPERATORS group property can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Get Queue Job File Size (0x2222 23 120)
Read Queue Current Status (0x2222 23 102)
Read Queue Job Entry (0x2222 23 108)
Remove Job From Queue (0x2222 23 106)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (15) word (Hi-Lo) 9 SubFuncCode (137) byte 10 QueueID long (Hi-Lo) 14 QueueStartPosition long (Lo-Hi) 18 FormTypeCnt long (Lo-Hi) 22 FormTypeList word[FormTypeCnt] (Lo-Hi)
ReplyFormat
Offset Content Type (reply header) 8 TotalQueueJobs long (Lo-Hi) 12 pkQJobCnt long (Lo-Hi) 16 JobNumberList long[pkQJobCnt] (Lo-Hi)
CompletionCode
0 0x00 Successful 126 0x7E Bad Length 252 0xFC No Such Object
Remarks
This NCP gets a list of jobs in a queue, using a form type match list.
See Also
Get Queue Job List (0x2222 23 129)
Get Queue Job List (0x2222 23 107)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (13) word (Hi-Lo) 9 SubFuncCode (136) byte 10 SrcQueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi) 18 DstQueueID long (Hi-Lo)
ReplyFormat
Offset Content Type (reply header) 8 newJobNumber long (Lo-Hi)
CompletionCode
0 0x00 Successful 126 0x7E Bad Length 252 0xFC No Such Object
Remarks
This NCP moves a queue job from a source queue to a destination queue and returns a new job number.
See Also
Get Queue Job List (0x2222 23 129)
Get Queue Job List (0x2222 23 107)
Get Queue Jobs From Form List (0x2222 23 137)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5) word (Hi-Lo) 9 SubFunction (125) byte 10 QueueID long (Hi-Lo)
Reply Format
Offset Content Type (reply header) 8 QueueID long (Hi-Lo) 12 QueueStatus long (Lo-Hi) 16 CurrentEntries long (Lo-Hi) 20 CurrentServers long (Lo-Hi) 24 ServerIDList[] long (Lo-Hi) xx ServerStationList[] long (Lo-Hi)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 252 0xFC No Such Object 255 0xFF Failure
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
The ServerIDList & ServerStationList fields are arrays. The number of entries in both arrays are determined by the field CurrentServers.
See Also
Get Queue Job List (0x2222 23 129)
Get Queue Job File Size (0x2222 23 135)
Read Queue Job Entry (0x2222 23 122)
Remove Job From Queue (0x2222 23 128)
Set Queue Current Status (0x2222 23 126)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (5) word (Hi-Lo) 9 SubFunctionCode (102) byte 10 QueueID long (Hi-Lo)
Reply Format
Offset Content Type (reply header) 8 QueueID long (Hi-Lo) 12 QueueStatus byte 13 CurrentEntries byte 14 CurrentServers byte 15 ServerIDList long[CurrentServers] (Hi-Lo) 15+(CurrentServers*4) ServerStationList byte[CurrentServers]
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call returns the current status of a queue. The Queue Status byte indicates the overall status of the queue. Bits in the Queue Status byte are set as follows:
| Bit Number | Definition |
|---|---|
| 1 | is set if the operator does not want to add jobs to the queue. |
| 2 | is set if the operator does not want additional servers attaching to the queue. |
| 4 | is set if the operator does not want servers to service jobs in the queue. |
Current Entries contains a count of the jobs currently in the queue (0 to 250).
Current Servers contains the number of currently attached servers that can service this queue (0 to 25).
The Server ID list and Server Station list identify the servers currently servicing the queue by Object ID Number and current station attachment.
Any station security equivalent to any object listed in the queue's Q_USERS group property or Q_OPERATORS group property can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Get Queue Job File Size (0x2222 23 120)
Get Queue Job List (0x2222 23 107)
Read Queue Job Entry (0x2222 23 108)
Remove Job From Queue (0x2222 23 106)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (122) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi)
Reply Format
Offset Content Type (reply header) 8 JobStructure (See Intro) structure
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Get Queue Job List (0x2222 23 129)
Read Queue Current Status (0x2222 23 125)
Remove Job From Queue (0x2222 23 128)
Get Queue Job File Size (0x2222 23 135)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (108) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo)
Reply Format
Offset Content Type (reply header) 8 Job JobStruct
Completion Code
0 0x00 Successful
153 0x99 Directory Full Error
208 0xD0 Queue Error
209 0xD1 No Queue
210 0xD2 No Queue Server
211 0xD3 No Queue Rights
212 0xD4 Queue Full
213 0xD5 No Queue Job
214 0xD6 No Job Right
215 0xD7 Queue Servicing
216 0xD8 Queue Not Active
217 0xD9 Station Not Server
218 0xDA Queue Halted
219 0xDB Maximum Queue Servers
255 0xFF Failure
Remarks
This call returns the full 256-byte queue job record, given the Queue ID and the Job Number. All fields are filled in.
Any station security equivalent to an object listed in the queue's Q_USERS group property or Q_OPERATORS group property can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Read Queue Current Status (0x2222 23 102)
Get Queue Job File Size (0x2222 23 120)
Get Queue Job List (0x2222 23 107)
Remove Job From Queue (0x2222 23 106)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (13) word (Hi-Lo) 9 SubFunction (134) byte 10 QueueID long (Hi-Lo) 14 ServerID long (Hi-Lo) 18 ServerStation long (Lo-Hi)
Reply Format
Offset Content Type (reply header) 8 ServerStatusRecord[64] byte
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (10) word (Hi-Lo) 9 SubFunctionCode (118) byte 10 QueueID long (Hi-Lo) 14 ServerID long (Hi-Lo) 18 ServerStation byte
Reply Format
Offset Content Type (reply header) 8 ServerStatusRecord byte[64]
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call returns the current status of a queue server. The queue management process (in the file server) maintains a 64-byte status record for each queue server attached to a queue. The information in the Server Status Record can be anything of use to queue servers and queue clients; this record is not used or interpreted by the queue manager.
The first 4 bytes of Server Status Record is the estimated price for the given queue server to complete an average job.
Any station security equivalent to one of the objects listed in the queue's Q_USERS group property or Q_OPERATORS group property can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Set Queue Server Current Status (0x2222 23 119)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (128) byte 10 QueueID long (Hi-Lo) 14 JobNumber long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Get Queue Job List (0x2222 23 129)
Read Queue Current Status (0x2222 23 125)
Read Queue Job Entry (0x2222 23 122)
Get Queue Job File Size (0x2222 23 135)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (106) byte 10 QueueID long (Hi-Lo) 14 JobNumber word (Hi-Lo)
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call removes a job from a job queue. The Job Number field contains the number that the queue manager assigned to the job when it was first entered into the queue. Jobs are removed as follows:
Only an operator or the client that created the job can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Read Queue Current Status (0x2222 23 102)
Get Queue Job File Size (0x2222 23 120)
Get Queue Job List (0x2222 23 107)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (1) word (Hi-Lo) 9 SubFunctionCode (117) byte
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call restores a queue server's identity after it has assumed its client's identity by using Change To Client Rights (function 116). The queue server's login user ID and the associated security equivalence list are also restored to the queue server's values.
This call does not change any queue server path mappings (directory bases) on the file server. However, all access rights to those directories are recalculated to conform with the queue server's rights. If the queue server changes some of its path mappings in order to service the queue job, the queue restores its own directory bases. Any files that are opened before this call is made continue to be accessible with the rights of the queue client; any files opened after this call is made are accessible to any station with the rights of the queue server.
Only a queue server that has previously changed its identity using Change To Client Rights can make this call.
See Introduction to Queue NCPs for information on the job structure.
See Also
Change To Client Rights (0x2222 23 133)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunction (124) byte 10 QueueID long (Hi-Lo) 14 TargetServiceType word (Lo-Hi)
Reply Format
Offset Content Type (reply header) 8 RecordInUseFlag word (Lo-Hi) 10 PreviousRecord long (Lo-Hi) 14 NextRecord long (Lo-Hi) 18 ClientStation long (Lo-Hi) 22 ClientTask long (Lo-Hi) 26 ClientIDNumber long (Hi-Lo) 30 TargetServerIDNum long (Hi-Lo) 34 TargetExecutTime[6] byte 40 JobEntryTime[6] byte 46 JobNumber long (Lo-Hi) 50 JobType word (Lo-Hi) 52 JobPosition word (Lo-Hi) 54 JobControlFlags word (Lo-Hi) 56 JobFileName[14] byte 70 JobFileHandle long (Lo-Hi) 74 ServerStation long (Lo-Hi) 78 ServerTask long (Lo-Hi) 82 ServerIDNumber long (Lo-Hi)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (7) word (Hi-Lo) 9 SubFunctionCode (113) byte 10 QueueID long (Hi-Lo) 14 TargetServiceType word (Hi-Lo)
Reply Format
Offset Content Type (reply header) 8 ClientStation byte 9 ClientTask byte 10 ClientIDNumber long (Hi-Lo) 14 TargetServerIDNumber long (Hi-Lo) 18 TargetExecutionTime byte[6] 24 JobEntryTime byte[6] 30 JobNumber word (Hi-Lo) 32 JobType word (Hi-Lo) 34 JobPosition byte 35 JobControlFlags byte 36 JobFileName byte[14] 50 JobFileHandle byte[6] 56 ServerStation byte 57 ServerTask byte 58 ServerIDNumber long (Hi-Lo)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call allows a queue server client to select a new job for servicing. All jobs in the queue are searched to find the one that meets the following criteria:
The Target Server ID Number must be -1L or match the ID number of the calling queue server.
The Target Execution Time must be 0xFF or a time earlier than the time indicated on the current system clock.
The Job Type must match the server's specified Target Service Type, or the server's specified Target Service Type must be -1.
The Operator Hold, User Hold, and Entry Open flags in the job's Job Control Flags must all be reset to zero.
The Server ID Number must be zero, indicating that the job is not currently being serviced by some other server.
If a job meets all of the above criteria, the job is marked for servicing by the calling station as follows:
The serving station ID is entered into the job's Server Station, Server Task, and Server ID Number fields.
The job file is opened for read and write access by the server.
The updated job entry record is delivered to the calling server for service.
Only a station that has previously attached itself to the specified queue as a server can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Attach Queue Server To Queue (0x2222 23 111)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (11) word (Hi-Lo) 9 SubFuncCode (138) byte 10 QueueID long (Hi-Lo) 14 FormTypeCnt long (Lo-Hi) 18 FormTypeList word[FormTypeCnt] (Lo-Hi)
ReplyFormat
Offset Content Type (reply header) 8 QRecordInUse word (Lo-Hi) 10 QPreviousRecord long (Lo-Hi) 14 QNextRecord long (Lo-Hi) 18 QStation long (Lo-Hi) 22 QTask long (Lo-Hi) 26 QUserID long (Hi-Lo) 30 TargetServerID long (Hi-Lo) 34 TargetTime[6] byte[6] 40 QEntryTime[6] byte[6] 46 QJobNumber long (Lo-Hi) 50 QEntryType word (Lo-Hi) 52 QOrder word (Lo-Hi) 54 QFlags word (Lo-Hi) 56 QFileName byte[14] 70 QFileHandle long (Lo-Hi) 74 QServerStation long (Lo-Hi) 78 QServerTask long (Lo-Hi) 82 QServerID long (Hi-Lo)
CompletionCode
0 0x00 Successful 126 0x7E Bad Length 255 0xFF Failure
Remarks
This NCP allows a server to retrieve a job for service. The server specifies the job queue and the entry type list that it wishes to service. If the server is attached to the target queue and the queue has one or more jobs that match the requirement specifications, then the first such job in the queue is given to the calling server. The file associated with the queue entry is automatically opened.
The fields in the Reply Format are described below:
The QRecordInUse field is a flag indicating whether or not the record is in use.
The QPreviousRecord field contains a pointer to the previous record.
The QNextRecord field contains a pointer to the next record.
The QStation field contains the connection number of the station that placed the job in the queue. When a new job is placed in a queue, the server automatically creates a file for this station and gives the station read and write access to the file. The queue management process (in the server, not the client) sets this field.
QTask contains the number of the task that was active when the job was placed in the queue. The job queue file is created for this task. This field is filled in by the queue management process.
QUserID contains the object ID number of the user logged in to the station making the queue entry. This field is filled in by the queue management process.
TargetServerID contains the ID number of the server the client specifies to service this entry. The client sets this field to -1L if this entry can be serviced by any server. If the specified server is not authorized to service the queue, the job is rejected. This field must be supplied by the client creating the queue job.
TargetTime contains the earliest time that the queue client is willing to have the job serviced. The time is in the format of year, month, day, hour, minute, second. If this field is set to 0xFFFFFFFFFFFF, the job will be serviced at the first opportunity. This field must be supplied by the client creating the queue job.
QEntryTime[6] contains the time that a job (or entry) entered the queue. The time is in the format of year, month, day, hour, minute, second and is taken from the system clock of the file server. This field is filled in by the queue management process.
QJobNumber contains a unique number that servers or clients can use when referring to this queue entry. The number is assigned by the queue management process when the job is created.
QEntryType contains a number that clients and servers can use to indicate the type of job represented by the queue entry. A server can specify that it will service only the entries for particular job types. This way, a queue can be used to hold entries for jobs requiring different types of service. This field must be supplied by the client creating the queue job. Job Type -1 must not be used.
QOrder indicates the job's position within the queue. The first job will be placed at the head of the queue and will be assigned position number 1; the second job will be placed behind the first one and will be assigned position number 2, and so on. As jobs are removed from the queue, the position numbers of the remaining jobs are updated to reflect their changing position within the queue. This number is assigned and maintained by the queue management process.
QFlags contains bits indicating the current status of the job. The possible values for and descriptions of the QFlags field are listed below:
0x80 Operator Hold Flag
This bit is set if the entry has been placed on hold by an operator. Jobs placed on hold continue to advance toward the front of the queue, but they will not be serviced until the hold bit has been cleared. This bit can be set or cleared only by an operator.
0x40 User Hold Flag
This bit is set if the entry has been placed on hold by the client that created the entry. Jobs placed on hold continue to advance toward the front of the queue, but they will not be serviced until the hold bit has been cleared. This bit can be set or cleared either by the client that created the entry or by an operator.
0x20 Entry Open Flag
This bit indicates whether the queue entry and the associated queue file have been marked ready for service by the client. When an entry is first created, this bit is set to indicate that the file associated with the entry has not yet been closed by the client. When the client indicates that it has finished preparing the queue entry and the queue file, then the file is closed and this bit is cleared. This bit is managed by the queue management process.
0x10 Service Restart Flag
This bit is set if the queue entry is to be reserviced if the server fails. A server can indicate that it was unable to finish servicing a job and has aborted service. In addition, servers that break their connection with the file server without signaling successful completion of service on outstanding jobs are assumed to have aborted service on those jobs. If service is aborted for an entry with this bit set, the entry will remain in its same position in the service queue and will be readied for reservice at a later time. If service is aborted for an entry with this bit cleared, the entry will be removed from the queue and will not be reserviced. This bit can be set or cleared either by the client that created the entry or by an operator.
0x08 Service Auto-start Flag
This bit is set if the queue job should automatically be started even if the client's connection is broken (the station is turned of for the client logs out) before the client signals that the job is ready to be queued. If this bit is cleared, the job will be removed from the queue if the creating station destroys its connection with the file server before signaling that the entry is ready for service. If this bit is set, the job will automatically be marked ready for service when a station's connection is lost. This bit can be set or cleared either by the client that created the entry or by an operator.
QFileName contains the name of the file that holds data associated with this queue entry. When a client creates a queue entry, the queue management process creates a file with a unique name in the queue directory and grants the queue client read and write access to the file.
QFileHandle contains a file handle that a job client or job server can use to access the file associated with an opened job. (The name of the opened file is recorded in the QFileName field.) This file handle is in standard NetWare format. NetWare shells provide hooks to allow applications to open the special NETQ device after opening a queue job to attach this file handle to a DOS file. Applications can then use standard DOS calls to access the job file. This field is set by the queue management process.
QServerStation contains the station number of the queue server servicing the job. When no server is servicing the job, the value of this field is undefined. This field is maintained by the queue management process.
QServerTask contains the task number of the queue server servicing the job. When no server is servicing the job, the value of this field is undefined. This field is maintained by the queue management process.
QServerID contains the ID number of the queue server servicing the job. If there is no server currently servicing the job, the value of this field is undefined. This field is maintained by the queue management process.
See Also
Get Queue Job List (0x2222 23 129)
Get Queue Job List (0x2222 23 107)
Get Queue Jobs From Form List (0x2222 23 137)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (9) word (Hi-Lo) 9 SubFunction (126) byte 10 QueueID long (Hi-Lo) 14 QueueStatus long (Lo-Hi)
Reply Format
Offset Content Type (reply header)
Completion Code
0 SUCCESSFUL
Remarks
This NCP allows the use of the high connection byte in the Request/Reply header of the packet. See Introduction to Queue NCPs for information on the job structure.
See Also
Get Queue Job List (0x2222 23 129)
Get Queue Job File Size (0x2222 23 135)
Read Queue Job Entry (0x2222 23 122)
Remove Job From Queue (0x2222 23 128)
Read Queue Current Status (0x2222 23 125)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (6) word (Hi-Lo) 9 SubFunctionCode (103) byte 10 QueueID long (Hi-Lo) 14 QueueStatus byte
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 252 0xFC No Such Object 255 0xFF Failure
Remarks
This call allows an operator to control the adding of jobs and servers to a queue by setting bits in the Queue Status byte as follows:
Bit Bit Description
| Bit | Bit Description |
|---|---|
| 1 | Prevent jobs from being added to the queue. |
| 2 | Prevent servers from attaching to the queue in order to service it. |
| 4 | Prevent servers from servicing jobs in the queue. |
Only a station with operator privileges can make this call.
See Introduction to Queue NCPs for information on both the old and new job structures.
See Also
Read Queue Current Status (0x2222 23 102)
Get Queue Job File Size (0x2222 23 120)
Get Queue Job List (0x2222 23 107)
Remove Job From Queue (0x2222 23 106)
| v2.x | v3.x | v4.x | v5.x |
Request Format
Offset Content Type (request header) 6 FunctionCode (23) byte 7 SubFuncStrucLen (69) word (Hi-Lo) 9 SubFunctionCode (119) byte 10 QueueID long (Hi-Lo) 14 ServerStatusRecord byte[64]
Reply Format
Offset Content Type (reply header)
Completion Code
0 0x00 Successful 153 0x99 Directory Full Error 208 0xD0 Queue Error 209 0xD1 No Queue 210 0xD2 No Queue Server 211 0xD3 No Queue Rights 212 0xD4 Queue Full 213 0xD5 No Queue Job 214 0xD6 No Job Right 215 0xD7 Queue Servicing 216 0xD8 Queue Not Active 217 0xD9 Station Not Server 218 0xDA Queue Halted 219 0xDB Maximum Queue Servers 255 0xFF Failure
Remarks
This call allows a queue server to update the queue manager's copy of the queue server's Server Status Record. The Server Status Record is a record (one per queue server) that contains any information shared by the queue server and queue clients. The first 4 bytes should contain the estimated cost for the queue server to complete an average job of the type it services. The queue manager does not interpret the contents of this status record.
Only a station that has previously attached to the specified queue as a queue server can make this call.
See Introduction to Queue NCPs for information on the job structure.
See Also
Read Queue Server Current Status (0x2222 23 134)