関数 | |
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)) |
clioplock.c の 26 行で定義されています。
参照先 buf・cli・cli_send_smb()・cli_setup_packet()・cli_state::cnum・cli_state::outbuf・set_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.c の 62 行で定義されています。
参照先 cli・cli_state::oplock_handler.
参照元 run_oplock3().
00064 { 00065 cli->oplock_handler = handler; 00066 }