Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <windows.h>
- #include <nb30.h>
- #define LANA 4
- int tryb, nazwa;
- NCB block;
- int NCBNUM;
- int LSN;
- int err;
- UCHAR callname[16];
- UCHAR name[16];
- UCHAR receive_buffer[512];
- UCHAR send_buffer[512];
- int Reset(){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBRESET;
- block.ncb_lana_num = 4;
- Netbios(&block);
- return block.ncb_retcode;
- }
- int AddName(UCHAR *name){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBADDNAME;
- block.ncb_lana_num = LANA;
- strncpy(block.ncb_name,name,strlen(name));
- Netbios(&block);
- NCBNUM = block.ncb_num;
- return block.ncb_retcode;
- }
- int DelName(UCHAR *name){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBDELNAME;
- block.ncb_lana_num = LANA;
- strncpy(block.ncb_name, name, strlen(name));
- Netbios(&block);
- return block.ncb_retcode;
- }
- int Receive(){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBRECV;
- block.ncb_lsn = LSN;
- block.ncb_lana_num = LANA;
- block.ncb_num = NCBNUM;
- block.ncb_post = 0;
- block.ncb_buffer = receive_buffer;
- block.ncb_length = sizeof(receive_buffer);
- Netbios(&block);
- printf("Odebrany tekst od %d: %s\n", block.ncb_lsn, receive_buffer );
- return block.ncb_retcode;
- }
- int Send(UCHAR *send_buffer){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBSEND;
- block.ncb_lsn = LSN;
- block.ncb_lana_num = LANA;
- block.ncb_post = NULL;
- block.ncb_buffer = send_buffer;
- block.ncb_length = strlen(send_buffer);
- Netbios(&block);
- return block.ncb_retcode;
- }
- int Call(UCHAR callname[16]){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBCALL;
- block.ncb_lana_num = LANA;
- strncpy(block.ncb_callname,callname,strlen(callname));
- block.ncb_sto = 10;
- block.ncb_rto = 10;
- strncpy(block.ncb_name,name,strlen(name));
- Netbios(&block);
- LSN = block.ncb_lsn;
- return block.ncb_retcode;
- }
- int Listen(UCHAR callname[16]){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBLISTEN;
- block.ncb_lana_num = LANA;
- strncpy(block.ncb_callname,callname,strlen(callname));
- strncpy(block.ncb_name,name,strlen(name));
- block.ncb_sto = 200;
- block.ncb_rto = 200;
- Netbios(&block);
- LSN = block.ncb_lsn;
- return block.ncb_retcode;
- }
- int HangUp(){
- memset(&block,0,sizeof(block));
- block.ncb_command = NCBHANGUP;
- block.ncb_lana_num = LANA;
- block.ncb_lsn = LSN;
- Netbios(&block);
- return block.ncb_retcode;
- }
- int main(void){
- err = Reset();
- if(err != NRC_GOODRET){
- printf("Wystapil blad %x\n",err);
- system("pause");
- exit(err);
- }
- printf("Podaj nazwe dla wezla: ");
- scanf("%s",name);
- err = AddName(name);
- if(err != NRC_GOODRET){
- printf("Wystapil blad %x\n",err);
- system("pause");
- exit(err);
- }
- printf("Podaj nazwe dla wezla, z ktorym chcesz sie polaczyc: ");
- scanf("%s",callname);
- err = Listen(callname);
- if(err != NRC_GOODRET){
- printf("Wystapil blad %x\n",err);
- system("pause");
- exit(err);
- }
- printf("\nNawiazano polaczenie\n");
- err = Receive();
- if(err != NRC_GOODRET){
- printf("Wystapil blad %x\n",err);
- system("pause");
- exit(err);
- }
- system("pause");
- err = HangUp();
- if(err != NRC_GOODRET){
- printf("Wystapil blad %x\n",err);
- system("pause");
- exit(err);
- }
- err = DelName(name);
- if(err != NRC_GOODRET){
- printf("Wystapil blad %x\n",err);
- system("pause");
- exit(err);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment