|
|
1.1 root 1: .TH INTERNAL 3
2: .CT 2 file_io
3: .SH NAME
4: jukebox routines
5: .tr %"
6: .SH SYNOPSIS
7: .B "#include %hdr.h%"
8: .PP
9: .tr %%
10: .B "int j_shelf_to_drive(int sh, Side side, int dr, char *err)"
11: .PP
12: .B "int j_drive_to_shelf(int dr, int sh, Side side, char *err)"
13: .PP
14: .B "int j_empty_drive(int tlim, char *buf)"
15: .PP
16: .B "void j_rdshelves(char *buf)"
17: .PP
18: .B "int j_getstatus(char *buf)"
19: .PP
20: .B "int j_scsiio(struct scsi_cmd *cmd, int ncmd,"
21: .br
22: .B "\ \ \ \ \ \ struct scsi_return *ret, int nret, char *err)"
23: .PP
24: .B "int j_shelfof(char *vol_id)"
25: .PP
26: .B "int j_volid(int dr, char *err)"
27: .PP
28: .B "extern char *j_shelf[NSHELF];"
29: .PP
30: .B "extern void pperror(char *buf, char *mesg);
31: .SH DESCRIPTION
32: .I J_shelf_to_drive
33: places the disk in shelf
34: .I sh
35: in logical drive
36: .IR dr .
37: It returns 0 on success;
38: otherwise an error message is placed in
39: .I err .
40: .PP
41: .I J_drive_to_shelf
42: places the disk
43: in logical drive
44: .IR dr
45: in shelf
46: .IR sh .
47: If
48: .I sh
49: is negative,
50: the disk is returned to its home shelf.
51: It returns 0 on success;
52: otherwise an error message is placed in
53: .IR err .
54: .PP
55: .I J_rdshelves
56: initializes each element of
57: .I j_shelf
58: to the volid of the disk on that shelf.
59: A zero pointer means there is no disk;
60: a name of
61: .B UNALLOCATED
62: means the disk has not been allocated a name yet.
63: It returns 0 on success;
64: otherwise an error message is placed in
65: .IR err .
66: .PP
67: .I J_getstatus
68: initializes
69: .B j_status
70: which include the following fields:
71: .EX
72: struct Lunstatus lun[NLUN]; /* disk status */
73: uchar shelf[NSHELF]; /* shelf status */
74: uchar iounit; /* I/O unit status */
75: uchar carrier; /* carrier status */
76: uchar udrive; /* upper drive status */
77: uchar ldrive; /* lower drive status */
78: .EE
79: A return value of 0 implies success;
80: otherwise \-1 is returned and an error message is placed in
81: .IR err .
82: .PP
83: .I J_scsiio
84: performs a SCSI transaction.
85: It sends the command in
86: .I cmd
87: and
88: .I ncmd
89: data bytes and stores the return status in
90: .IR ret .
91: A return value of 0 implies success;
92: otherwise \-1 is returned and an error message is placed in
93: .IR err .
94: .PP
95: .I J_shelfof
96: returns the shelf number of the disk labelled
97: .IR vol_id .
98: If there is no such disk,
99: \-1 is returned.
100: .PP
101: .I J_volid
102: returns the volid of the disk on drive
103: .I dr
104: in
105: .IR err .
106: A return value of 0 implies success;
107: otherwise \-1 is returned and an error message is placed in
108: .IR err .
109: .PP
110: .I Pperror
111: returns an error message that is contained in
112: .IR buf.
113: .PP
114: .SH "SEE ALSO"
115: .SH DIAGNOSTICS
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.