How to write using C / C++ with nb30.h receive procedure (broadcast or datagram)

I have send procedure via Netbios

{

nLana=0;
clrscr();
printf("Wyszukiwanie pierwszego aktywnego adaptera \n");
for (;
{
reset();
a=500;
n=100;
if (ncb.ncb_retcode != 0 )
nLana++;
if (ncb.ncb_retcode==0)
{a=nLana;
textcolor(14);cprintf("Pierwszy aktywny adapter: %d",a);
printf("\n");
memset (ncb.ncb_name, ' ', NCBNAMSZ);
memcpy (ncb.ncb_name,"NADAWCA",7);
ncb.ncb_lana_num = nLana;
ncb.ncb_command = NCBADDNAME;
ncb.ncb_event = 0;
Netbios (&ncb);
cprintf("Nazwa stacji nadajacej ustawiona na: %s",ncb.ncb_name);
printf("\n");

struct {
FIND_NAME_HEADER header;
FIND_NAME_BUFFER buffer[5];
} buffer;
memset (&ncb, 0, sizeof (ncb));
ncb.ncb_lana_num = lanaEnum.lana[nLana];
ncb.ncb_command = NCBFINDNAME;
memset (ncb.ncb_callname, ' ', NCBNAMSZ);
memcpy (ncb.ncb_callname,"ODBIORCA",8);
printf("\nWprowadz ciag do wyslania: \n");
fflush(stdin);
gets(bufor);
ncb.ncb_buffer = bufor;
ncb.ncb_length = sizeof (bufor);
ncb.ncb_event = 0;
Netbios (&ncb);
cprintf("Nazwa stacji odbiorczej ustawiona na: %s",ncb.ncb_callname);
printf("\n");
memset (& (ncb.ncb_reserve), 0, sizeof (ncb.ncb_reserve));
ncb.ncb_rto = 20; // Receive timeout, n*500 ms
ncb.ncb_sto = 20; // Send timeout, n*500 ms
printf("\n %s \n",ncb.ncb_buffer);
ncb.ncb_command = NCBCALL;
ncb.ncb_event = 0;
Netbios (&ncb);
break;
}
}

How write similar procedure to receive chain via netbios ?