11 #include <GSSRequest.h>
14 #define gssweb_read _read
16 #define gssweb_read read
24 int main(int argc, char **argv) {
36 _setmode(_fileno(stdin), _O_BINARY);
38 int readThisRound, readTotal, readRemaining;
43 readThisRound = readTotal = 0;
46 readThisRound = gssweb_read(0, ((&len) + readTotal), 4 - readTotal);
47 readTotal += readThisRound;
50 // Reads the number of bytes indicated by the above read
51 input = new char[len + 1];
52 readTotal = readThisRound = 0;
53 while (readTotal < len)
55 readRemaining = len - readTotal;
56 readThisRound = gssweb_read( 0, &(input[readTotal]), readRemaining);
57 if (-1 == readThisRound)
60 readTotal += readThisRound;
62 // ... and null-terminate it
65 output = gss_request(input);
66 len = (int32_t )strlen(output);
68 cout.write((char *)&len, 4);
70 deallocate_reply(output);