libsmb/clioplock.c

ソースコードを見る。

関数

BOOL cli_oplock_ack (struct cli_state *cli, int fnum, unsigned char level)
void cli_oplock_handler (struct cli_state *cli, BOOL(*handler)(struct cli_state *, int, unsigned char))


関数

BOOL cli_oplock_ack ( struct cli_state cli,
int  fnum,
unsigned char  level 
)

clioplock.c26 行で定義されています。

参照先 bufclicli_send_smb()cli_setup_packet()cli_state::cnumcli_state::outbufset_message().

参照元 cli_initialise()oplock3_handler().

00027 {
00028         char *oldbuf = cli->outbuf;
00029         pstring buf;
00030         BOOL ret;
00031 
00032         cli->outbuf = buf;
00033 
00034         memset(buf,'\0',smb_size);
00035         set_message(buf,8,0,True);
00036 
00037         SCVAL(buf,smb_com,SMBlockingX);
00038         SSVAL(buf,smb_tid, cli->cnum);
00039         cli_setup_packet(cli);
00040         SSVAL(buf,smb_vwv0,0xFF);
00041         SSVAL(buf,smb_vwv1,0);
00042         SSVAL(buf,smb_vwv2,fnum);
00043         if (level == 1)
00044                 SSVAL(buf,smb_vwv3,0x102); /* levelII oplock break ack */
00045         else
00046                 SSVAL(buf,smb_vwv3,2); /* exclusive oplock break ack */
00047         SIVAL(buf,smb_vwv4,0); /* timoeut */
00048         SSVAL(buf,smb_vwv6,0); /* unlockcount */
00049         SSVAL(buf,smb_vwv7,0); /* lockcount */
00050 
00051         ret = cli_send_smb(cli);        
00052 
00053         cli->outbuf = oldbuf;
00054 
00055         return ret;
00056 }

void cli_oplock_handler ( struct cli_state cli,
BOOL(*)(struct cli_state *, int, unsigned char)  handler 
)

clioplock.c62 行で定義されています。

参照先 clicli_state::oplock_handler.

参照元 run_oplock3().

00064 {
00065         cli->oplock_handler = handler;
00066 }


Sambaに対してSat Aug 29 21:23:47 2009に生成されました。  doxygen 1.4.7