root/src/vfs/smbfs/helpers/include/client.h

/* [previous][next][first][last][top][bottom][index][help]  */

INCLUDED FROM


   1 /*
   2    Unix SMB/Netbios implementation.
   3    Version 1.9.
   4    SMB parameters and setup
   5  */
   6 
   7 #ifndef _CLIENT_H
   8 #define _CLIENT_H
   9 
  10 /* the client asks for a smaller buffer to save ram and also to get more
  11    overlap on the wire. This size gives us a nice read/write size, which
  12    will be a multiple of the page size on almost any system */
  13 #define CLI_BUFFER_SIZE (0xFFFF)
  14 
  15 /*
  16  * These definitions depend on smb.h
  17  */
  18 
  19 typedef struct file_info
  20 {
  21     SMB_OFF_T size;
  22     uint16 mode;
  23     uid_t uid;
  24     gid_t gid;
  25     /* these times are normally kept in GMT */
  26     time_t mtime;
  27     time_t atime;
  28     time_t ctime;
  29     pstring name;
  30 } file_info;
  31 
  32 struct print_job_info
  33 {
  34     uint16 id;
  35     uint16 priority;
  36     size_t size;
  37     fstring user;
  38     fstring name;
  39     time_t t;
  40 };
  41 
  42 struct pwd_info
  43 {
  44     BOOL null_pwd;
  45     BOOL cleartext;
  46     BOOL crypted;
  47 
  48     fstring password;
  49 
  50     uchar smb_lm_pwd[16];
  51     uchar smb_nt_pwd[16];
  52 
  53     uchar smb_lm_owf[24];
  54     uchar smb_nt_owf[24];
  55 };
  56 
  57 struct cli_state
  58 {
  59     int port;
  60     int fd;
  61     uint16 cnum;
  62     uint16 pid;
  63     uint16 mid;
  64     uint16 vuid;
  65     int protocol;
  66     int sec_mode;
  67     int rap_error;
  68     int privileges;
  69 
  70     fstring eff_name;
  71     fstring desthost;
  72     fstring user_name;
  73     fstring domain;
  74 
  75     /*
  76      * The following strings are the
  77      * ones returned by the server if
  78      * the protocol > NT1.
  79      */
  80     fstring server_type;
  81     fstring server_os;
  82     fstring server_domain;
  83 
  84     fstring share;
  85     fstring dev;
  86     struct nmb_name called;
  87     struct nmb_name calling;
  88     fstring full_dest_host_name;
  89     struct in_addr dest_ip;
  90 
  91     struct pwd_info pwd;
  92     unsigned char cryptkey[8];
  93     uint32 sesskey;
  94     int serverzone;
  95     uint32 servertime;
  96     int readbraw_supported;
  97     int writebraw_supported;
  98     int timeout;                /* in milliseconds. */
  99     int max_xmit;
 100     int max_mux;
 101     char *outbuf;
 102     char *inbuf;
 103     int bufsize;
 104     int initialised;
 105     int win95;
 106     uint32 capabilities;
 107 
 108     /*
 109      * Only used in NT domain calls.
 110      */
 111 
 112     uint32 nt_error;            /* NT RPC error code. */
 113     uint16 nt_pipe_fnum;        /* Pipe handle. */
 114     unsigned char sess_key[16]; /* Current session key. */
 115     unsigned char ntlmssp_hash[258];    /* ntlmssp data. */
 116     uint32 ntlmssp_cli_flgs;    /* ntlmssp client flags */
 117     uint32 ntlmssp_srv_flgs;    /* ntlmssp server flags */
 118     uint32 ntlmssp_seq_num;     /* ntlmssp sequence number */
 119     DOM_CRED clnt_cred;         /* Client credential. */
 120     fstring mach_acct;          /* MYNAME$. */
 121     fstring srv_name_slash;     /* \\remote server. */
 122     fstring clnt_name_slash;    /* \\local client. */
 123     uint16 max_xmit_frag;
 124     uint16 max_recv_frag;
 125 };
 126 
 127 #endif /* _CLIENT_H */

/* [previous][next][first][last][top][bottom][index][help]  */