Subversion Repositories planix.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 - 1
#include "headers.h"
2
 
3
int
4
smbmailslotsend(NbDgramSendParameters *p, SmbBuffer *msg, char **errmsgp)
5
{
6
	ushort setup[3];
7
	int rv;
8
	SmbTransaction transaction;
9
	SmbBuffer *b;
10
	SmbHeader h;
11
	setup[0] = 1;
12
	setup[1] = 0;
13
	setup[2] = 0;
14
	memset(&transaction, 0, sizeof(transaction));
15
	transaction.in.name = smbglobals.mailslotbrowse;
16
	transaction.in.scount = 3;
17
	transaction.in.setup = setup;
18
	transaction.in.tdcount = smbbufferreadspace(msg);
19
	transaction.in.data = smbbufferreadpointer(msg);
20
	b = smbbuffernew(NbDgramMaxLen);
21
	memset(&h, 0, sizeof(h));
22
	rv = smbtransactionexecute(&transaction, &h, nil, b, &smbtransactionmethoddgram, p, nil, errmsgp);
23
	smbbufferfree(&b);
24
	return rv;
25
}
26
 
27
int
28
smbbrowsesendhostannouncement(char *name, ulong periodms, ulong type, char *comment, char **errmsgp)
29
{
30
	NbDgramSendParameters p;
31
	SmbBuffer *b;
32
	int rv;
33
//	NbName msbrowse;
34
 
35
//	msbrowse[0] = 1;
36
//	msbrowse[1] = 2;
37
//	memcpy(msbrowse + 2, "__MSBROWSE__", 12);
38
//	msbrowse[14] = 2;
39
//	msbrowse[15] = 1;
40
//	nbnamecpy(p.to, msbrowse);
41
	nbmknamefromstringandtype(p.to, smbglobals.primarydomain, 0x1d);
42
	p.type = NbDgramDirectUnique;
43
	b = smbbuffernew(NbDgramMaxLen);
44
	smbbufferputb(b, 1);
45
	smbbufferputb(b, 0);
46
	smbbufferputl(b, periodms);
47
	smbbufferputstrn(b, name, 16, 1);
48
	smbbufferputb(b, 4);
49
	smbbufferputb(b, 0);
50
	smbbufferputl(b, type);
51
	smbbufferputl(b, 0xaa55011f);
52
	smbbufferputstring(b, nil, 0, comment);
53
	rv = smbmailslotsend(&p, b, errmsgp);
54
	smbbufferfree(&b);
55
	return rv;
56
}