亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? nbcommon.c

?? 一個(gè)很好的TCP和UDP端口控制的例子!稍加改動(dòng)
?? C
字號(hào):
// Module Name: nbcommon.c
//
// Description:
//    This file contains the function bodies for a set of 
//    common NetBIOS functions.  See the descriptions for
//    each function on what each one does. These functions
//    are used by the other NetBIOS sample programs so this
//    file needs to be compiled to object code and linked 
//    with the other executable programs.
//
// Compile:
//    cl /c nbcommon.c
//
// Command Line Options:
//    NONE - Compile to object code
//
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

#include "nbcommon.h"

//
// Enumerate all LANA numbers
//
int LanaEnum(LANA_ENUM *lenum)
{
    NCB                ncb;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBENUM;
    ncb.ncb_buffer = (PUCHAR)lenum;
    ncb.ncb_length = sizeof(LANA_ENUM);

    if (Netbios(&ncb) != NRC_GOODRET)
    {
        printf("ERROR: Netbios: NCBENUM: %d\n", ncb.ncb_retcode);
        return ncb.ncb_retcode;
    }
    return NRC_GOODRET;
}

//
// Reset each LANA listed in the LANA_ENUM structure. Also, set
// the NetBIOS environment (max sessions, max name table size),
// and use the first NetBIOS name.
//
int ResetAll(LANA_ENUM *lenum, UCHAR ucMaxSession, 
             UCHAR ucMaxName, BOOL bFirstName)
{
    NCB                ncb;
    int                i;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBRESET;
    ncb.ncb_callname[0] = ucMaxSession;
    ncb.ncb_callname[2] = ucMaxName;
    ncb.ncb_callname[3] = (UCHAR)bFirstName;

    for(i = 0; i < lenum->length; i++)
    {
        ncb.ncb_lana_num = lenum->lana[i];
        if (Netbios(&ncb) != NRC_GOODRET)
        {
            printf("ERROR: Netbios: NCBRESET[%d]: %d\n",
                ncb.ncb_lana_num, ncb.ncb_retcode);
            return ncb.ncb_retcode;
        }
    }
    return NRC_GOODRET;
}

//
// Add the given name to the given LANA number. Return the name
// number for the registered name.
//
int AddName(int lana, char *name, int *num)
{
    NCB                ncb;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBADDNAME;
    ncb.ncb_lana_num = lana;
    memset(ncb.ncb_name, ' ', NCBNAMSZ);
    strncpy(ncb.ncb_name, name, strlen(name));

    if (Netbios(&ncb) != NRC_GOODRET)
    {
        printf("ERROR: Netbios: NCBADDNAME[lana=%d;name=%s]: %d\n",
            lana, name, ncb.ncb_retcode);
        return ncb.ncb_retcode;
    }
    *num = ncb.ncb_num;
    return NRC_GOODRET;
}

//
// Add the given NetBIOS group name to the given LANA
// number. Return the name number for the added name.
//
int AddGroupName(int lana, char *name, int *num)
{
    NCB                ncb;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBADDGRNAME;
    ncb.ncb_lana_num = lana;
    memset(ncb.ncb_name, ' ', NCBNAMSZ);
    strncpy(ncb.ncb_name, name, strlen(name));

    if (Netbios(&ncb) != NRC_GOODRET)
    {
        printf("ERROR: Netbios: NCBADDGRNAME[lana=%d;name=%s]: %d\n",
            lana, name, ncb.ncb_retcode);
        return ncb.ncb_retcode;
    }
    *num = ncb.ncb_num;
    return NRC_GOODRET;
}

//
// Delete the given NetBIOS name from the name table associated
// with the LANA number
//
int DelName(int lana, char *name)
{
    NCB                ncb;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBDELNAME;
    ncb.ncb_lana_num = lana;
    memset(ncb.ncb_name, ' ', NCBNAMSZ);
    strncpy(ncb.ncb_name, name, strlen(name));

    if (Netbios(&ncb) != NRC_GOODRET)
    {
        printf("ERROR: Netbios: NCBADDNAME[lana=%d;name=%s]: %d\n",
            lana, name, ncb.ncb_retcode);
        return ncb.ncb_retcode;
    }
    return NRC_GOODRET;
}

//
// Send len bytes from the data buffer on the given session (lsn)
// and lana number.
//
int Send(int lana, int lsn, char *data, DWORD len)
{
    NCB                ncb;
    int                retcode;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBSEND;
    ncb.ncb_buffer = (PUCHAR)data;
    ncb.ncb_length = len;
    ncb.ncb_lana_num = lana;
    ncb.ncb_lsn = lsn;
  
    retcode = Netbios(&ncb);

    return retcode;
}

//
// Receive up to len bytes into the data buffer on the given session 
// (lsn) and lana number.
//
int Recv(int lana, int lsn, char *buffer, DWORD *len)
{
    NCB                ncb;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBRECV;
    ncb.ncb_buffer = (PUCHAR)buffer;
    ncb.ncb_length = *len;
    ncb.ncb_lana_num = lana;
    ncb.ncb_lsn = lsn;

    if (Netbios(&ncb) != NRC_GOODRET)
    {
        *len = -1;
        return ncb.ncb_retcode;
    }
    *len = ncb.ncb_length;

    return NRC_GOODRET;
}
//
// Disconnect the given session on the given lana number
//
int Hangup(int lana, int lsn)
{
    NCB                ncb;
    int                retcode;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBHANGUP;
    ncb.ncb_lsn = lsn;
    ncb.ncb_lana_num = lana;

    retcode = Netbios(&ncb);

    return retcode;
}

//
// Cancel the given asynchronous command denoted in the NCB
// structure parameter.
//
int Cancel(PNCB pncb)
{
    NCB                ncb;

    ZeroMemory(&ncb, sizeof(NCB));
    ncb.ncb_command = NCBCANCEL;
    ncb.ncb_buffer = (PUCHAR)pncb;
    ncb.ncb_lana_num = pncb->ncb_lana_num;

    if (Netbios(&ncb) != NRC_GOODRET)
    {
        printf("ERROR: NetBIOS: NCBCANCEL: %d\n", ncb.ncb_retcode);
        return ncb.ncb_retcode;
    }
    return NRC_GOODRET;
}

//
// Format the given NetBIOS name so that it is printable. Any
// unprintable characters are replaced by a period. The outname
// buffer is the returned string, which is assumed to be at least 
// NCBNAMSZ + 1 characters in length.
//
int FormatNetbiosName(char *nbname, char *outname)
{
    int        i;

    strncpy(outname, nbname, NCBNAMSZ);
    outname[NCBNAMSZ - 1] = '\0';
    for(i = 0; i < NCBNAMSZ - 1; i++)
    {
        // If the character isn't printable replace it with a '.'
        //
        if (!((outname[i] >= 32) && (outname[i] <= 126)))
            outname[i] = '.';
    }
    return NRC_GOODRET;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕巨乱亚洲| 亚洲欧美偷拍卡通变态| 91在线码无精品| 精品一区二区久久| 亚洲一级不卡视频| 中文字幕的久久| 精品福利视频一区二区三区| 欧日韩精品视频| 成人永久aaa| 精品一区二区三区免费视频| 一区二区三区视频在线看| 久久中文娱乐网| 日韩欧美一级特黄在线播放| 一本到不卡精品视频在线观看| 国产一区免费电影| 麻豆91精品91久久久的内涵| 亚洲午夜在线观看视频在线| 亚洲欧洲另类国产综合| 久久一区二区视频| 精品国产乱码久久久久久夜甘婷婷| 欧美三区在线观看| 在线免费观看一区| 97久久超碰国产精品电影| 国产美女av一区二区三区| 日本aⅴ亚洲精品中文乱码| 一区二区在线观看免费| 国产精品国产精品国产专区不蜜 | 激情图片小说一区| 亚洲第一精品在线| 亚洲制服丝袜一区| 亚洲乱码国产乱码精品精的特点| 国产精品丝袜在线| 久久久久久久一区| 国产亚洲女人久久久久毛片| 26uuu精品一区二区三区四区在线| 欧美精品电影在线播放| 欧美日本在线视频| 制服丝袜亚洲播放| 555www色欧美视频| 日韩欧美高清一区| 精品国产一区a| 亚洲午夜精品17c| 一区二区欧美精品| 天堂av在线一区| 免费精品视频在线| 国产一区二区三区精品欧美日韩一区二区三区 | 老司机免费视频一区二区| 青娱乐精品视频| 久久国产视频网| 国产一区二区成人久久免费影院| 国产一区二区三区免费看| 粉嫩av一区二区三区在线播放| 粉嫩久久99精品久久久久久夜| 成人av网站在线| 色老头久久综合| 制服丝袜av成人在线看| 日韩女优av电影| 欧美激情一区二区三区四区| 亚洲欧洲www| 午夜精品福利一区二区三区蜜桃| 午夜精品成人在线视频| 热久久久久久久| 国产一区二区三区在线观看精品| 国产成人在线免费| 色综合视频一区二区三区高清| 色婷婷综合久久久久中文一区二区 | 91色综合久久久久婷婷| 欧美亚洲动漫另类| 精品国产三级电影在线观看| 欧美国产成人在线| 亚洲自拍与偷拍| 免费久久精品视频| 国产成都精品91一区二区三| 色综合亚洲欧洲| 日韩一区二区三区视频在线| 久久久亚洲精品石原莉奈| 亚洲码国产岛国毛片在线| 日产国产欧美视频一区精品| 国产精品一卡二卡在线观看| 色综合久久久久| 亚洲精品一区二区三区福利 | 麻豆专区一区二区三区四区五区| 激情综合五月天| 99精品国产一区二区三区不卡| 欧美视频完全免费看| 欧美精品一区二区三区久久久 | 久久久夜色精品亚洲| 一区二区高清免费观看影视大全| 毛片av一区二区三区| 91年精品国产| 久久综合久久综合久久综合| 亚洲午夜免费电影| 成人免费视频免费观看| 欧美一区二区在线观看| 亚洲欧洲色图综合| 精品一区二区三区香蕉蜜桃 | 国产成人在线观看免费网站| 欧美日韩国产123区| 亚洲欧洲另类国产综合| 国内国产精品久久| 欧美日韩一区高清| 1区2区3区欧美| 国产综合成人久久大片91| 欧美日韩国产三级| 亚洲欧美韩国综合色| 国产风韵犹存在线视精品| 91精品国产综合久久久久久久久久| 亚洲欧美在线观看| 国产一区二区三区四| 欧美久久久久久久久| 亚洲免费观看在线观看| 懂色一区二区三区免费观看| 欧美成人三级电影在线| 婷婷久久综合九色综合绿巨人| www.成人网.com| 欧美国产日韩一二三区| 国产在线精品国自产拍免费| 欧美一区2区视频在线观看| 一区二区三区在线免费| 99精品视频免费在线观看| 欧美国产在线观看| 国产乱色国产精品免费视频| 欧美一区二区免费观在线| 亚洲国产精品人人做人人爽| 91影院在线观看| 国产精品国产自产拍高清av| 高清不卡在线观看| 亚洲国产精品高清| 成人免费毛片片v| 国产精品私人自拍| 成人精品高清在线| 国产精品福利一区二区三区| 国产成人免费xxxxxxxx| 久久久久成人黄色影片| 国产精品白丝av| 国产精品美女久久久久久| 成人午夜视频在线| 中文字幕一区二| 色婷婷综合久久| 亚洲午夜在线视频| 91麻豆精品国产91| 久久99精品国产麻豆不卡| 精品久久一二三区| 国产麻豆精品theporn| 国产亚洲一区字幕| 99久久久久久| 一区二区三区四区激情| 欧美日韩一区二区在线观看| 全国精品久久少妇| 久久精品亚洲麻豆av一区二区| 国产激情偷乱视频一区二区三区| 日本一区二区三区国色天香| 成人aa视频在线观看| 亚洲精品视频一区| 4438成人网| 国产成人自拍网| 亚洲你懂的在线视频| 欧美日韩精品一区二区| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美大片在线观看一区| 国产白丝精品91爽爽久久| 综合激情网...| 91精品欧美综合在线观看最新 | 麻豆精品在线播放| 亚洲国产精品ⅴa在线观看| 91看片淫黄大片一级在线观看| 一区二区三区波多野结衣在线观看 | 亚洲美女在线国产| 91精品国产麻豆| 国产精品77777竹菊影视小说| 亚洲欧洲性图库| 日韩精品一区二区三区蜜臀| 成人黄色免费短视频| 天堂一区二区在线| 国产精品天干天干在线综合| 欧美丝袜丝交足nylons| 国产麻豆91精品| 一卡二卡三卡日韩欧美| 欧美大片一区二区| av色综合久久天堂av综合| 天堂蜜桃一区二区三区| 国产精品国产成人国产三级 | 国产成人免费在线| 亚洲一区二区三区视频在线播放| 日韩一区二区在线观看视频 | 国内精品第一页| 亚洲精品菠萝久久久久久久| 精品国产91亚洲一区二区三区婷婷| 91视频在线观看免费| 免费人成精品欧美精品| 亚洲视频网在线直播| 久久久三级国产网站| 欧美精品少妇一区二区三区| 不卡一区二区在线| 狠狠色丁香久久婷婷综| 午夜av一区二区三区| 亚洲视频在线一区观看| 久久精品视频在线免费观看 | 精品久久久久久久久久久久久久久| av一区二区三区四区|