ncpl_queue.c (52153) | ncpl_queue.c (52704) |
---|---|
1/* 2 * Copyright (c) 1999, Boris Popov 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * | 1/* 2 * Copyright (c) 1999, Boris Popov 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 15 unchanged lines hidden (view full) --- 24 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30 * SUCH DAMAGE. 31 * |
32 * $FreeBSD: head/lib/libncp/ncpl_queue.c 52153 1999-10-12 11:56:41Z bp $ | 32 * $FreeBSD: head/lib/libncp/ncpl_queue.c 52704 1999-10-31 03:39:03Z bp $ |
33 * 34 * NetWare queue interface 35 * 36 */ 37#include <sys/types.h> 38#include <errno.h> 39#include <stdio.h> 40#include <netncp/ncp_lib.h> 41 42int | 33 * 34 * NetWare queue interface 35 * 36 */ 37#include <sys/types.h> 38#include <errno.h> 39#include <stdio.h> 40#include <netncp/ncp_lib.h> 41 42int |
43ncp_create_queue_job_and_file(int connid, u_int32_t queue_id, 44 struct queue_job *job) | 43ncp_create_queue_job_and_file(NWCONN_HANDLE connid, u_int32_t queue_id, 44 struct queue_job *job) |
45{ 46 int error; 47 DECLARE_RQ; 48 49 ncp_init_request_s(conn, 121); 50 ncp_add_dword_hl(conn, queue_id); 51 ncp_add_mem(conn, &(job->j), sizeof(job->j)); 52 53 if ((error = ncp_request(connid, 23, conn)) != 0) 54 return error; 55 memcpy(&(job->j), ncp_reply_data(conn, 0), 78); 56 ConvertToNWfromDWORD(job->j.JobFileHandle, &job->file_handle); 57 return 0; 58} 59 60int | 45{ 46 int error; 47 DECLARE_RQ; 48 49 ncp_init_request_s(conn, 121); 50 ncp_add_dword_hl(conn, queue_id); 51 ncp_add_mem(conn, &(job->j), sizeof(job->j)); 52 53 if ((error = ncp_request(connid, 23, conn)) != 0) 54 return error; 55 memcpy(&(job->j), ncp_reply_data(conn, 0), 78); 56 ConvertToNWfromDWORD(job->j.JobFileHandle, &job->file_handle); 57 return 0; 58} 59 60int |
61ncp_close_file_and_start_job(int connid, u_int32_t queue_id, struct queue_job *job) | 61ncp_close_file_and_start_job(NWCONN_HANDLE connid, u_int32_t queue_id, 62 struct queue_job *job) |
62{ 63 int error; 64 DECLARE_RQ; 65 66 ncp_init_request_s(conn, 127); 67 ncp_add_dword_hl(conn, queue_id); 68 ncp_add_dword_lh(conn, job->j.JobNumber); 69 error = ncp_request(connid, 23, conn); 70 return error; 71} 72 73int | 63{ 64 int error; 65 DECLARE_RQ; 66 67 ncp_init_request_s(conn, 127); 68 ncp_add_dword_hl(conn, queue_id); 69 ncp_add_dword_lh(conn, job->j.JobNumber); 70 error = ncp_request(connid, 23, conn); 71 return error; 72} 73 74int |
74ncp_attach_to_queue(int connid, u_int32_t queue_id) { | 75ncp_attach_to_queue(NWCONN_HANDLE connid, u_int32_t queue_id) { |
75 int error; 76 DECLARE_RQ; 77 78 ncp_init_request_s(conn, 111); 79 ncp_add_dword_hl(conn, queue_id); 80 error = ncp_request(connid, 23, conn); 81 return error; 82} 83 84int | 76 int error; 77 DECLARE_RQ; 78 79 ncp_init_request_s(conn, 111); 80 ncp_add_dword_hl(conn, queue_id); 81 error = ncp_request(connid, 23, conn); 82 return error; 83} 84 85int |
85ncp_detach_from_queue(int connid, u_int32_t queue_id) { | 86ncp_detach_from_queue(NWCONN_HANDLE connid, u_int32_t queue_id) { |
86 int error; 87 DECLARE_RQ; 88 89 ncp_init_request_s(conn, 112); 90 ncp_add_dword_hl(conn, queue_id); 91 error= ncp_request(connid, 23, conn); 92 return error; 93} 94 95int | 87 int error; 88 DECLARE_RQ; 89 90 ncp_init_request_s(conn, 112); 91 ncp_add_dword_hl(conn, queue_id); 92 error= ncp_request(connid, 23, conn); 93 return error; 94} 95 96int |
96ncp_service_queue_job(int connid, u_int32_t queue_id, u_int16_t job_type, 97 struct queue_job *job) { | 97ncp_service_queue_job(NWCONN_HANDLE connid, u_int32_t queue_id, 98 u_int16_t job_type, struct queue_job *job) 99{ |
98 int error; 99 DECLARE_RQ; 100 101 ncp_init_request_s(conn, 124); 102 ncp_add_dword_hl(conn, queue_id); 103 ncp_add_word_hl(conn, job_type); 104 if ((error = ncp_request(connid, 23, conn)) != 0) { 105 return error; 106 } 107 memcpy(&(job->j), ncp_reply_data(conn, 0), 78); 108 ConvertToNWfromDWORD(job->j.JobFileHandle, &job->file_handle); 109 return error; 110} 111 112int | 100 int error; 101 DECLARE_RQ; 102 103 ncp_init_request_s(conn, 124); 104 ncp_add_dword_hl(conn, queue_id); 105 ncp_add_word_hl(conn, job_type); 106 if ((error = ncp_request(connid, 23, conn)) != 0) { 107 return error; 108 } 109 memcpy(&(job->j), ncp_reply_data(conn, 0), 78); 110 ConvertToNWfromDWORD(job->j.JobFileHandle, &job->file_handle); 111 return error; 112} 113 114int |
113ncp_finish_servicing_job(int connid, u_int32_t queue_id, u_int32_t job_number, 114 u_int32_t charge_info) { | 115ncp_finish_servicing_job(NWCONN_HANDLE connid, u_int32_t queue_id, 116 u_int32_t job_number, u_int32_t charge_info) 117{ |
115 int error; 116 DECLARE_RQ; 117 118 ncp_init_request_s(conn, 131); 119 ncp_add_dword_hl(conn, queue_id); 120 ncp_add_dword_lh(conn, job_number); 121 ncp_add_dword_hl(conn, charge_info); 122 123 error = ncp_request(connid, 23, conn); 124 return error; 125} 126 127int | 118 int error; 119 DECLARE_RQ; 120 121 ncp_init_request_s(conn, 131); 122 ncp_add_dword_hl(conn, queue_id); 123 ncp_add_dword_lh(conn, job_number); 124 ncp_add_dword_hl(conn, charge_info); 125 126 error = ncp_request(connid, 23, conn); 127 return error; 128} 129 130int |
128ncp_abort_servicing_job(int connid, u_int32_t queue_id, u_int32_t job_number) { | 131ncp_abort_servicing_job(NWCONN_HANDLE connid, u_int32_t queue_id, 132 u_int32_t job_number) 133{ |
129 int error; 130 DECLARE_RQ; 131 132 ncp_init_request_s(conn, 132); 133 ncp_add_dword_hl(conn, queue_id); 134 ncp_add_dword_lh(conn, job_number); 135 error = ncp_request(connid, 23, conn); 136 return error; 137} 138 139int | 134 int error; 135 DECLARE_RQ; 136 137 ncp_init_request_s(conn, 132); 138 ncp_add_dword_hl(conn, queue_id); 139 ncp_add_dword_lh(conn, job_number); 140 error = ncp_request(connid, 23, conn); 141 return error; 142} 143 144int |
140ncp_get_queue_length(int connid, u_int32_t queue_id, u_int32_t *queue_length) { | 145ncp_get_queue_length(NWCONN_HANDLE connid, u_int32_t queue_id, 146 u_int32_t *queue_length) 147{ |
141 int error; 142 DECLARE_RQ; 143 144 ncp_init_request_s(conn, 125); 145 ncp_add_dword_hl(conn, queue_id); 146 147 if ((error = ncp_request(connid, 23, conn)) != 0) 148 return error; --- 5 unchanged lines hidden (view full) --- 154 printf("Ouch! Server didn't reply with same queue id in ncp_get_queue_length!\n"); 155 return EINVAL; 156 } 157 *queue_length = ncp_reply_dword_lh(conn,8); 158 return error; 159} 160 161int | 148 int error; 149 DECLARE_RQ; 150 151 ncp_init_request_s(conn, 125); 152 ncp_add_dword_hl(conn, queue_id); 153 154 if ((error = ncp_request(connid, 23, conn)) != 0) 155 return error; --- 5 unchanged lines hidden (view full) --- 161 printf("Ouch! Server didn't reply with same queue id in ncp_get_queue_length!\n"); 162 return EINVAL; 163 } 164 *queue_length = ncp_reply_dword_lh(conn,8); 165 return error; 166} 167 168int |
162ncp_get_queue_job_ids(int connid, u_int32_t queue_id, u_int32_t queue_section, 163 u_int32_t *length1, u_int32_t *length2, u_int32_t ids[]) | 169ncp_get_queue_job_ids(NWCONN_HANDLE connid, u_int32_t queue_id, 170 u_int32_t queue_section, u_int32_t *length1, u_int32_t *length2, 171 u_int32_t ids[]) |
164{ 165 int error; 166 DECLARE_RQ; 167 168 ncp_init_request_s(conn,129); 169 ncp_add_dword_hl(conn, queue_id); 170 ncp_add_dword_lh(conn, queue_section); 171 --- 16 unchanged lines hidden (view full) --- 188 *ids++ = ncp_reply_dword_lh(conn, 8+pos); 189 } 190 } 191 *length1 = ncp_reply_dword_lh(conn,0); 192 return error; 193} 194 195int | 172{ 173 int error; 174 DECLARE_RQ; 175 176 ncp_init_request_s(conn,129); 177 ncp_add_dword_hl(conn, queue_id); 178 ncp_add_dword_lh(conn, queue_section); 179 --- 16 unchanged lines hidden (view full) --- 196 *ids++ = ncp_reply_dword_lh(conn, 8+pos); 197 } 198 } 199 *length1 = ncp_reply_dword_lh(conn,0); 200 return error; 201} 202 203int |
196ncp_get_queue_job_info(int connid, u_int32_t queue_id, u_int32_t job_id, 197 struct nw_queue_job_entry *jobdata) { | 204ncp_get_queue_job_info(NWCONN_HANDLE connid, u_int32_t queue_id, 205 u_int32_t job_id, struct nw_queue_job_entry *jobdata) 206{ |
198 int error; 199 DECLARE_RQ; 200 201 ncp_init_request_s(conn,122); 202 ncp_add_dword_hl(conn, queue_id); 203 ncp_add_dword_lh(conn, job_id); 204 205 if ((error = ncp_request(connid, 23, conn)) != 0) 206 return error; 207 208 if (conn->rpsize < sizeof(struct nw_queue_job_entry)) { 209 ncp_printf("ncp_reply_size %d < %d\n", conn->rpsize,sizeof(struct nw_queue_job_entry)); 210 return EINVAL; 211 } 212 memcpy(jobdata,ncp_reply_data(conn,0), sizeof(struct nw_queue_job_entry)); 213 return error; 214} | 207 int error; 208 DECLARE_RQ; 209 210 ncp_init_request_s(conn,122); 211 ncp_add_dword_hl(conn, queue_id); 212 ncp_add_dword_lh(conn, job_id); 213 214 if ((error = ncp_request(connid, 23, conn)) != 0) 215 return error; 216 217 if (conn->rpsize < sizeof(struct nw_queue_job_entry)) { 218 ncp_printf("ncp_reply_size %d < %d\n", conn->rpsize,sizeof(struct nw_queue_job_entry)); 219 return EINVAL; 220 } 221 memcpy(jobdata,ncp_reply_data(conn,0), sizeof(struct nw_queue_job_entry)); 222 return error; 223} |