Lines 86-92
Link Here
|
86 |
LOCAL void readbuf __PR((char *buf, int n)); |
86 |
LOCAL void readbuf __PR((char *buf, int n)); |
87 |
LOCAL void voidarg __PR((int n)); |
87 |
LOCAL void voidarg __PR((int n)); |
88 |
LOCAL void readarg __PR((char *buf, int n)); |
88 |
LOCAL void readarg __PR((char *buf, int n)); |
89 |
LOCAL char * preparebuffer __PR((int size)); |
89 |
LOCAL char * preparebuffer __PR((long *size)); |
90 |
LOCAL int checkscsi __PR((char *decive)); |
90 |
LOCAL int checkscsi __PR((char *decive)); |
91 |
LOCAL void rscsirespond __PR((int ret, int err)); |
91 |
LOCAL void rscsirespond __PR((int ret, int err)); |
92 |
LOCAL void rscsireply __PR((int ret)); |
92 |
LOCAL void rscsireply __PR((int ret)); |
Lines 574-580
Link Here
|
574 |
LOCAL void |
574 |
LOCAL void |
575 |
getbuf() |
575 |
getbuf() |
576 |
{ |
576 |
{ |
577 |
int ret = 0; |
577 |
long ret = 0; |
578 |
char amt[CMD_SIZE]; |
578 |
char amt[CMD_SIZE]; |
579 |
|
579 |
|
580 |
readarg(amt, sizeof(amt)); |
580 |
readarg(amt, sizeof(amt)); |
Lines 584-590
Link Here
|
584 |
return; |
584 |
return; |
585 |
} |
585 |
} |
586 |
ret = scg_bufsize(scsi_ptr, atol(amt)); |
586 |
ret = scg_bufsize(scsi_ptr, atol(amt)); |
587 |
if (preparebuffer(ret) == NULL) |
587 |
if (preparebuffer(&ret) == NULL) |
588 |
ret = -1; |
588 |
ret = -1; |
589 |
rscsirespond(ret, geterrno()); |
589 |
rscsirespond(ret, geterrno()); |
590 |
} |
590 |
} |
Lines 919-944
Link Here
|
919 |
|
919 |
|
920 |
LOCAL char * |
920 |
LOCAL char * |
921 |
preparebuffer(size) |
921 |
preparebuffer(size) |
922 |
int size; |
922 |
long *size; |
923 |
{ |
923 |
{ |
924 |
Sbufsize = size; |
924 |
Sbufsize = *size; |
925 |
if ((Sbuf = scg_getbuf(scsi_ptr, Sbufsize)) == NULL) { |
925 |
if ((Sbuf = scg_getbuf(scsi_ptr, &Sbufsize)) == NULL) { |
926 |
Sbufsize = 0L; |
926 |
Sbufsize = 0L; |
927 |
return (Sbuf); |
927 |
return (Sbuf); |
928 |
} |
928 |
} |
929 |
size = Sbufsize + 1024; /* Add protocol overhead */ |
929 |
*size = Sbufsize + 1024; /* Add protocol overhead */ |
930 |
|
930 |
|
931 |
#ifdef SO_SNDBUF |
931 |
#ifdef SO_SNDBUF |
932 |
while (size > 512 && |
932 |
while (*size > 512 && |
933 |
setsockopt(STDOUT_FILENO, SOL_SOCKET, SO_SNDBUF, (char *)&size, sizeof (size)) < 0) |
933 |
setsockopt(STDOUT_FILENO, SOL_SOCKET, SO_SNDBUF, (char *)size, sizeof (*size)) < 0) |
934 |
size -= 512; |
934 |
*size -= 512; |
935 |
DEBUG1("rscsid: sndsize: %d\n", size); |
935 |
DEBUG1("rscsid: sndsize: %d\n", *size); |
936 |
#endif |
936 |
#endif |
937 |
#ifdef SO_RCVBUF |
937 |
#ifdef SO_RCVBUF |
938 |
while (size > 512 && |
938 |
while (*size > 512 && |
939 |
setsockopt(STDIN_FILENO, SOL_SOCKET, SO_RCVBUF, (char *)&size, sizeof (size)) < 0) |
939 |
setsockopt(STDIN_FILENO, SOL_SOCKET, SO_RCVBUF, (char *)size, sizeof (*size)) < 0) |
940 |
size -= 512; |
940 |
*size -= 512; |
941 |
DEBUG1("rscsid: rcvsize: %d\n", size); |
941 |
DEBUG1("rscsid: rcvsize: %d\n", *size); |
942 |
#endif |
942 |
#endif |
943 |
return (Sbuf); |
943 |
return (Sbuf); |
944 |
} |
944 |
} |