xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 5KB
    文件類型: .c
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-16
  • 語言: 其他
  • 標簽: Wake??on??LAN??

資源簡介

改造后的在Linux和Windows均已測試過的局域網(wǎng)內(nèi)進行遠程開機和遠程喚醒的例程, 可以很容易地改造封裝成函數(shù)加以使用。

資源截圖

代碼片段和文件信息


#include?
#include??????????????//?For?errno

#if?defined(WIN32)?||?defined(_WIN32)?
#include?
#include?

typedef??SOCKET?WOLSocket;
typedef?int?socklen_t;
typedef?char?raw_type;?//?Type?used?for?raw?data?on?this?platform

#pragma?comment(lib?“ws2_32“)

int?CvtIP2Addr(char*?strIP?struct?in_addr*?addIn)
{
(*addIn).s_addr?=?inet_addr(strIP);
return?1;
}

#else
#include?
#include?
#include????????//?For?data?types
#include???????//?For?socket()?connect()?send()?and?recv()
#include????????????//?For?gethostbyname()
#include????????//?For?inet_addr()
#include???????????//?For?close()
#include???????//?For?sockaddr_in
typedef?void?raw_type;?//?Type?used?for?raw?data?on?this?platform
typedef?int??WOLSocket;

int?CvtIP2Addr(char*?strIP?struct?in_addr*?addIn)
{
int?iRet?=?inet_aton(strIP?addIn);
return?iRet;
}
#endif

int?parseMac(unsigned?char?*mac?char?*str)?{
int?i;
int?count;
char?c;
unsigned?char?val;
int?colon_ok?=?1;
for?(i?=?0;?i? mac[i]?=?0;
}
for?(i?=?0;?i? count?=?0;
val???=?0;
do?{
c?=?toupper(*str++);
if?(c?>=?‘0‘?&&?c?<=?‘9‘)?{
val?=?(val?*?16)?+?(c?-?‘0‘);
}?else?if?(c?>=?‘A‘?&&?c?<=?‘F‘)?{
val?=?(val?*?16)?+?(c?-?‘A‘)?+?10;
}?else?if?(c?==?‘:‘)?{
if?(colon_ok?||?count--?!=?0)
break;
}?else?if?(c?==?‘\0‘)?{
str--;
break;
}?else?{
return?0;
}
colon_ok=1;
}?while?(++count? colon_ok=(count<2);
*mac++?=?val;
}
if?(*str)
return?0;
return?1;
}

#define?POWER_ON_ERROR_NO_ERROR????????0
#define?POWER_ON_ERROR_INVALID_MAC?????1
#define?POWER_ON_ERROR_INVALID_SOCKET??2
#define?POWER_ON_ERROR_INVALID_SETOPT??4
#define?POWER_ON_ERROR_INVALID_SEND????8
#define?POWER_ON_ERROR_NOT_INITIALIZE??16

int?main(int?argc?char?*argv[])
{
unsigned?char?macaddr[8];
WOLSocket?sock;
char?strMAC[128]?=?“00:24:E8:23:1F:A6“;
char?strTarget[128]?=?“255.255.255.255“;
char*?mac?=?strMAC;
char*?target?=?strTarget;
short?bport?=?32767;

int?optval?=?1;
unsigned?char?msg[1024];
int?msglen?=?0;
struct?sockaddr_in?bcast;
struct?hostent?*he;
struct?in_addr?inaddr;



#if?defined(WIN32)?||?defined(_WIN32)?
WSADATA?wsaData;
//---------------------------------------------
//?Initialize?Winsock
WSAStartup(MAKEWORD(22)?&wsaData);
#endif

if(argc?>?1)
{
mac?=?argv[1];
}
printf(“macString?=?%s“?mac);

if(parseMac(macaddr?mac)?!=?1)
{
printf(“Illlegal?MAC?address?:?%s?\n“?mac);
return?POWER_ON_ERROR_INVALID_MAC;
}

if(!CvtIP2Addr(target?&inaddr))
{
he?????=?gethostbyname(target

評論

共有 條評論