! Given a filename, queue name, username and account name, enqueue the ! file on the specified queue. Written for INet lpd process, GDMR, June 1987. %recordformat IOSB fm(%integer status, extra) %recordformat item fm(%short length, code, %integer buffer addr, %integer return addr) %systemintegerfnspec sndjbcw(%integer efn, func, null, %record(item fm)%name itmlst, %record(IOSB fm)%name IOSB, %integer astadr, astprm) %constinteger SJC enter file = 16_0013 %constinteger SJC queue = 16_0086 %constinteger SJC file specification = 16_002A %constinteger SJC account name = 16_009D %constinteger SJC jobname = 16_004F %constinteger SJC username = 16_009F %constinteger SJC delete file = 16_0018 %externalintegerfn enqueue job(%string(127) file, %string(39) jobname, %string(31) queue, username, account) %record(item fm) z = 0, fs, an, un, jn, df, q %record(IOSB fm) IOSB %integer status fs_code = SJC file specification; fs_length = length(file) fs_buffer addr = addr(file) + 1; fs_return addr = 0 length(account) = 8 %if length(account) > 8 an_code = SJC account name; an_length = length(account) an_buffer addr = addr(account) + 1; an_return addr = 0 length(username) = 12 %if length(username) > 12; ! Unlikely? un_code = SJC username; un_length = length(username) un_buffer addr = addr(username) + 1; un_return addr = 0 length(jobname) = 39 %if length(jobname) > 39; ! Most unlikely jn_code = SJC jobname; jn_length = length(jobname) jn_buffer addr = addr(jobname) + 1; jn_return addr = 0 df = 0; df_code = SJC delete file q_code = SJC queue; q_length = length(queue) q_buffer addr = addr(queue) + 1; q_return addr = 0 status = sndjbcw(0, SJC enter file, 0, q, IOSB, 0, 0) %result = status %if status & 1 = 0 %result = IOSB_status %end %end %of %file