docs: public int available() throws IOException {
          SmbNamedPipe pipe;
          TransPeekNamedPipe req;
          TransPeekNamedPipeResponse resp;
  
          if( file.type != SmbFile.TYPE_NAMED_PIPE ) {
              return 0;
          }
  
          try {
              pipe = (SmbNamedPipe)file;
              file.open(SmbFile.O_EXCL, pipe.pipeType & 0xFF0000, SmbFile.ATTR_NORMAL, 0 );
      
              req = new TransPeekNamedPipe( file.unc, file.fid );
              resp = new TransPeekNamedPipeResponse( pipe );
      
              pipe.send( req, resp );
              if( resp.status == TransPeekNamedPipeResponse.STATUS_DISCONNECTED ||
                      resp.status == TransPeekNamedPipeResponse.STATUS_SERVER_END_CLOSED ) {
                  file.opened = false;
                  return 0;
              }
              return resp.available;
          } catch (SmbException se) {
              throw seToIoe(se);
          }
      }