Haifisch7734

Sender SK

Mar 26th, 2014
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <nb30.h>
  5. #define LANA 4
  6.  
  7. int tryb, nazwa;
  8.  
  9. NCB block;
  10. int NCBNUM;
  11. int LSN;
  12. int err;
  13. UCHAR callname[16];
  14. UCHAR name[16];
  15. UCHAR receive_buffer[512];
  16. UCHAR send_buffer[512];
  17.  
  18.  
  19. int Reset(){
  20. memset(&block,0,sizeof(block));
  21. block.ncb_command = NCBRESET;
  22. block.ncb_lana_num = 4;
  23. Netbios(&block);
  24. return block.ncb_retcode;
  25. }
  26.  
  27. int AddName(UCHAR *name){
  28. memset(&block,0,sizeof(block));
  29. block.ncb_command = NCBADDNAME;
  30. block.ncb_lana_num = LANA;
  31. strncpy(block.ncb_name,name,strlen(name));
  32. Netbios(&block);
  33. NCBNUM = block.ncb_num;
  34. return block.ncb_retcode;
  35. }
  36.  
  37. int DelName(UCHAR *name){
  38. memset(&block,0,sizeof(block));
  39. block.ncb_command = NCBDELNAME;
  40. block.ncb_lana_num = LANA;
  41. strncpy(block.ncb_name, name, strlen(name));
  42. Netbios(&block);
  43. return block.ncb_retcode;
  44. }
  45.  
  46. int Receive(){
  47. memset(&block,0,sizeof(block));
  48. block.ncb_command = NCBRECV;
  49. block.ncb_lsn = LSN;
  50. block.ncb_lana_num = LANA;
  51. block.ncb_num = NCBNUM;
  52. block.ncb_post = 0;
  53. block.ncb_buffer = receive_buffer;
  54. block.ncb_length = sizeof(receive_buffer);
  55. Netbios(&block);
  56. printf("Odebrany tekst od %d: %s\n", block.ncb_lsn, receive_buffer );
  57. return block.ncb_retcode;
  58. }
  59.  
  60. int Send(UCHAR *send_buffer){
  61. memset(&block,0,sizeof(block));
  62. block.ncb_command = NCBSEND;
  63. block.ncb_lsn = LSN;
  64. block.ncb_lana_num = LANA;
  65. block.ncb_post = NULL;
  66. block.ncb_buffer = send_buffer;
  67. block.ncb_length = strlen(send_buffer);
  68. Netbios(&block);
  69. return block.ncb_retcode;
  70. }
  71.  
  72. int Call(UCHAR callname[16]){
  73. memset(&block,0,sizeof(block));
  74. block.ncb_command = NCBCALL;
  75. block.ncb_lana_num = LANA;
  76. strncpy(block.ncb_callname,callname,strlen(callname));
  77. block.ncb_sto = 10;
  78. block.ncb_rto = 10;
  79. strncpy(block.ncb_name,name,strlen(name));
  80. Netbios(&block);
  81. LSN = block.ncb_lsn;
  82. return block.ncb_retcode;
  83. }
  84.  
  85.  
  86. int Listen(UCHAR callname[16]){
  87. memset(&block,0,sizeof(block));
  88. block.ncb_command = NCBLISTEN;
  89. block.ncb_lana_num = LANA;
  90. strncpy(block.ncb_callname,callname,strlen(callname));
  91. strncpy(block.ncb_name,name,strlen(name));
  92. block.ncb_sto = 0;
  93. block.ncb_rto = 0;
  94. Netbios(&block);
  95. LSN = block.ncb_lsn;
  96. return block.ncb_retcode;
  97. }
  98.  
  99. int HangUp(){
  100. memset(&block,0,sizeof(block));
  101. block.ncb_command = NCBHANGUP;
  102. block.ncb_lana_num = LANA;
  103. block.ncb_lsn = LSN;
  104. Netbios(&block);
  105. return block.ncb_retcode;
  106. }
  107.  
  108. int main(void){
  109. err = Reset();
  110. if(err != NRC_GOODRET){
  111.     printf("Wystapil blad %x\n",err);
  112.     system("pause");
  113.     exit(err);
  114. }
  115. printf("Podaj nazwe dla wezla: ");
  116. scanf("%s",name);
  117.  
  118. err = AddName(name);
  119. if(err != NRC_GOODRET){
  120.     printf("Wystapil blad %x\n",err);
  121.     system("pause");
  122.     exit(err);
  123. }
  124. printf("Podaj nazwe dla wezla, z ktorym chcesz sie polaczyc: ");
  125. scanf("%s",callname);
  126.  
  127. err = Call(callname);
  128. if(err != NRC_GOODRET){
  129.     printf("Wystapil blad %x\n",err);
  130.     system("pause");
  131.     exit(err);
  132. }
  133.  
  134. printf("\nNawiazano polaczenie\n");
  135.  
  136. printf("Podaj wiadomosc do wyslania: ");
  137. scanf("%s",send_buffer);
  138. err = Send(send_buffer);
  139. if(err != NRC_GOODRET){
  140.     printf("Wystapil blad %x\n",err);
  141.     system("pause");
  142.     exit(err);
  143. }
  144. system("pause");
  145. err = DelName(name);
  146. if(err != NRC_GOODRET){
  147.     printf("Wystapil blad %x\n",err);
  148.     system("pause");
  149.     exit(err);
  150. }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment