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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? fmaclien.c

?? profibus-dp主站源代碼
?? C
?? 第 1 頁 / 共 3 頁
字號:
  // fill header params
  rb -> rb2_header.seg_length_1 = LEN_SAP_ACTIVATE;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.fill_length_1 = LEN_SAP_ACTIVATE;

  rb -> rb2_header.seg_length_2 = 0;
  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.offset_2 = 0;
  rb -> rb2_header.priority = pr;   

  rb -> application_block.service.code = sap_activate;  
  rb -> application_block.dsap = sap_nr;
  rb -> application_block.ssap = 0;

  sptr = ( struct fdl_sap * ) &( rb->user_data_1[0] );
  sptr->user_id = sap_nr;
  sptr->max_l_sdu_length = 246;
  sptr->access_sap = ACCSAP; //ALL;     // no reservations
  sptr->access_station = ACCSTAT; //ALL;     // no reservations
  sptr->sda = SDA_R; //BOTH_ROLES;
  sptr->sdn = SDN_R; //BOTH_ROLES;
  sptr->srd = SRD_R; //BOTH_ROLES;
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  build request_block for sap_activate for all services             */
/**********************************************************************/
void build_rqb_rsap_activate( fdl_rb *rb,
                              UBYTE sap_nr,
                              UBYTE ACCSAP,
                              UBYTE ACCSTAT,
                              BYTE pr )
{
  struct fdl_sap *sptr;

  build_head( rb );

  // fill header params
  rb -> rb2_header.seg_length_1 = LEN_SAP_ACTIVATE;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.fill_length_1 = LEN_SAP_ACTIVATE;

  rb -> rb2_header.seg_length_2 = 0;
  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.offset_2 = 0;
  rb -> rb2_header.priority = pr;

  rb -> application_block.service.code = rsap_activate;
  rb -> application_block.dsap = sap_nr;
  rb -> application_block.ssap = 0;

  sptr = ( struct fdl_sap * ) &rb->user_data_1;
  sptr->user_id = sap_nr;
  sptr->max_l_sdu_length = 246;
  sptr->access_sap = ACCSAP; //ALL;     // no reservations
  sptr->access_station = ACCSTAT; //ALL;     // no reservations
  sptr->srd = RESPONDER; // na pevno
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  build request_block for sap_deactivate for all services           */
/**********************************************************************/
void build_rqb_sap_deactivate( fdl_rb *rb, UBYTE sap_nr, BYTE pr )
{
  //   struct fdl_sap * sptr;

  build_head( rb );

  // fill header params
  rb -> rb2_header.priority = pr;
  rb -> rb2_header.seg_length_1 = LEN_SAP_ACTIVATE;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.fill_length_1 = 0;
  rb -> application_block.service.code = sap_deactivate;
  rb -> application_block.dsap = sap_nr;
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  build request_block for lsap_status                               */
/**********************************************************************/
void build_rqb_lsap_status( fdl_rb *rb, UBYTE stat_num, UBYTE sap_nr, BYTE pr )
{
  build_head( rb );
  // fill header params

  rb -> rb2_header.priority = pr;
  rb -> rb2_header.fill_length_1 = 0;

  rb -> rb2_header.seg_length_2 = 0;
  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.offset_2 = 0;

  rb -> application_block.service.code = lsap_status;
  rb -> application_block.dsap = sap_nr;
  rb -> application_block.receive_l_sdu.length = 255;
  rb -> application_block.rem_add.station = stat_num; // number of station
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*                                                  */
/**********************************************************************/    
void build_rqb_event_sap( fdl_rb *rb, UBYTE pr )
{
  struct event_indication * temp_ptr;
  temp_ptr = ( struct event_indication * ) rb->user_data_1;

  build_head( rb );

  rb -> rb2_header.fill_length_1 = LEN_EVENT_INDICATION;
  rb -> rb2_header.seg_length_1 = 260;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.priority = pr;

  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.seg_length_2 = 0;

  rb -> application_block.service.code = await_indication;
  rb -> application_block.dsap = EVENT_SAP;
  rb -> application_block.send_l_sdu.length = 255;
  rb -> application_block.send_l_sdu.buffer_ptr = 0;
  rb -> application_block.send_l_sdu.length = 1;

  temp_ptr->time_out.threshold = time_out_threshold_default;
  temp_ptr->not_syn.threshold = not_syn_threshold_default;
  temp_ptr->uart_error.threshold = uart_error_threshold_default;
  temp_ptr->out_of_ring.threshold = out_of_ring_threshold_default;
  temp_ptr->sdn_not_indicated.threshold = sdn_not_indicated_threshold_default;
  temp_ptr->duplicate_address.threshold = duplicate_address_threshold_default;
  temp_ptr->hardware_error.threshold = hardware_error_threshold_default;
  temp_ptr->mac_error.threshold = mac_error_threshold_default;
  temp_ptr->priority = pr;
}








/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  Prevede retezec bytu ve forme "xx xx xx" kde xx je sestnactkove   */
/*  vyjadreni kazdeho bytu na posloupnost bytu (Out)                  */
/*                                                                    */
/**********************************************************************/

HexStringToByteString( unsigned char *HexString, int length, unsigned char *Out )
{
  // lenght je pocet bytu vyjadrenych v HexStringu nikoliv pocet znaku v HexStringu

  unsigned char     hi,lo,ch;
  int i;

  if ( length > 0 )
  {
    for ( i = 0; i < length; i++ )
    {
      ch = HexString[i * 3];
      if ( ch >= '0' && ch <= '9' )
        hi = ch - '0';
      if ( ch >= 'a' && ch <= 'f' )
        hi = ch - 'a' + 10;
      if ( ch >= 'A' && ch <= 'F' )
        hi = ch - 'A' + 10;
      ch = HexString[i * 3 + 1];
      if ( ch >= '0' && ch <= '9' )
        lo = ch - '0';
      if ( ch >= 'a' && ch <= 'f' )
        lo = ch - 'a' + 10;
      if ( ch >= 'A' && ch <= 'F' )
        lo = ch - 'A' + 10;

      Out[i] = ( hi << 4 ) + lo;
    }
  }
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  build request_block for send_srd                                  */
/*                                                                    */
/**********************************************************************/
void build_rqb_srd( fdl_rb *rb,
                    BYTE remadd,
                    UBYTE remsap,
                    UBYTE source_sap,
                    BYTE pr,
                    unsigned char user_data[260] )
{
  int j;

  build_head( rb );
  j = ( strlen( user_data ) + 1 ) / 3;  // data predavana ve forme znaku zapsany v retezci sestnactkove jednotlive dvoujznaky
  // oddeleny mezerou "xx xx xx"

  rb -> rb2_header.fill_length_1 = j + NETTO_DATA_OFFSET;
  rb -> rb2_header.seg_length_1 = 260;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.priority = pr;


  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.seg_length_2 = 260;
  rb -> rb2_header.offset_2 = 80 + 260;

  rb -> application_block.service.code = srd;
  rb -> application_block.dsap = remsap;
  rb -> application_block.ssap = source_sap;   // local SAP
  rb -> application_block.rem_add.station = remadd;
  rb -> application_block.rem_add.segment = NO_SEGMENT;
  rb -> application_block.serv_class = pr;
  rb -> application_block.receive_l_sdu.length = 255;
  rb -> application_block.send_l_sdu.length = j;

  rb -> user_data_1[0] = NETTO_DATA_OFFSET;

  // initialize Data

  HexStringToByteString( user_data, j, rb->user_data_1 + NETTO_DATA_OFFSET );
  /*  
      for (i = 0; i < j; i++)
      {
      C=strtol(user_data, &HH,16);
      *user_data++;
      *user_data++;
      *user_data++;
       rb -> user_data_1[NETTO_DATA_OFFSET+i] =C;
     }*/
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  build request_block for send_sda                                  */
/**********************************************************************/
void build_rqb_sda( fdl_rb *rb,
                    BYTE remadd,
                    UBYTE remsap,
                    UBYTE ssap,
                    BYTE pr,
                    unsigned char user_data[260] )
{
  int j;    

  build_head( rb );

  j = ( strlen( user_data ) + 1 ) / 3;  // data predavana ve forme znaku zapsany v retezci sestnactkove jednotlive dvoujznaky
  // oddeleny mezerou "xx xx xx"


  rb -> rb2_header.fill_length_1 = strlen( user_data ) + NETTO_DATA_OFFSET;
  rb -> rb2_header.seg_length_1 = 260;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.priority = pr;

  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.seg_length_2 = 0;
  rb -> rb2_header.offset_2 = 0;

  rb -> application_block.service.code = sda;
  rb -> application_block.dsap = remsap;
  rb -> application_block.ssap = ssap;   // local SAP
  rb -> application_block.rem_add.station = remadd;
  rb -> application_block.rem_add.segment = NO_SEGMENT;
  rb -> application_block.serv_class = pr;
  rb -> application_block.send_l_sdu.length = strlen( user_data );

  rb -> user_data_1[0] = NETTO_DATA_OFFSET;

  // initialize Data
  HexStringToByteString( user_data, j, rb->user_data_1 + NETTO_DATA_OFFSET );    

  /*        
      // tohle se musi predelat !
      for (i = 0; i < strlen(user_data); i++)
          rb -> user_data_1[NETTO_DATA_OFFSET+i] = user_data[i];
  */
}



/**********************************************************************/
/*  D e s c r i p t i o n :                                           */
/*                                                                    */
/*  build request_block for send_sdn                                  */
/**********************************************************************/
void build_rqb_sdn( fdl_rb *rb,
                    BYTE remadd,
                    UBYTE remsap,
                    UBYTE source_sap,
                    BYTE pr,
                    unsigned char user_data[260] )
{
  int j;  

  build_head( rb );

  j = ( strlen( user_data ) + 1 ) / 3;  // data predavana ve forme znaku zapsany v retezci sestnactkove jednotlive dvoujznaky
  // oddeleny mezerou "xx xx xx"   

  rb -> rb2_header.fill_length_1 = j + NETTO_DATA_OFFSET;
  rb -> rb2_header.seg_length_1 = 260;
  rb -> rb2_header.offset_1 = 80;
  rb -> rb2_header.priority = pr;

  rb -> rb2_header.fill_length_2 = 0;
  rb -> rb2_header.seg_length_2 = 0;
  rb -> rb2_header.offset_2 = 0;

  rb -> application_block.service.code = sdn;
  rb-> application_block.loc_add.segment = NO_SEGMENT;
  rb -> application_block.dsap = remsap;
  rb -> application_block.ssap = source_sap;
  rb -> application_block.rem_add.station = remadd;
  rb -> application_block.rem_add.segment = NO_SEGMENT;
  rb -> application_block.serv_class = pr;
  rb -> application_block.receive_l_sdu.length = 0;
  rb -> application_block.send_l_sdu.length = j;
  rb -> user_data_1[0] = NETTO_DATA_OFFSET;

  // initialize Data
  HexStringToByteString( user_data, j, rb->user_data_1 + NETTO_DATA_OFFSET );
}



/**********************************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.欧美日韩| 欧美精品日日鲁夜夜添| 久久精品一区二区三区av| 精品一区二区三区免费| 一区二区三区在线观看欧美| 精品久久一区二区三区| 中文字幕av一区二区三区高| 7777精品伊人久久久大香线蕉完整版| 国产成人丝袜美腿| 日产国产高清一区二区三区| 亚洲乱码国产乱码精品精98午夜| 欧美成人vr18sexvr| 欧美肥妇bbw| 一本大道久久a久久综合婷婷| 男人的天堂久久精品| 一区二区三区在线视频免费观看| 久久久久成人黄色影片| 欧美xfplay| 青青草国产成人99久久| 国产一区亚洲一区| 老司机免费视频一区二区| 亚洲一区二区偷拍精品| 国产日韩三级在线| 国产日韩欧美精品综合| 久久日韩粉嫩一区二区三区 | 国产精品色噜噜| 亚洲乱码中文字幕| 亚洲欧美国产77777| 亚洲免费在线播放| 奇米精品一区二区三区在线观看| 久久激情综合网| 粉嫩一区二区三区在线看| 成人va在线观看| aaa欧美色吧激情视频| 在线免费av一区| 欧美日韩午夜在线| 久久久精品2019中文字幕之3| 欧美不卡视频一区| 亚洲欧洲av色图| 国产一区二区在线观看免费| 91福利在线看| 最新日韩av在线| 美女在线一区二区| 成人看片黄a免费看在线| 欧美日韩一区二区三区高清| 久久先锋影音av鲁色资源| 亚洲乱码国产乱码精品精的特点| 日精品一区二区| 国产乱国产乱300精品| 韩国毛片一区二区三区| 国产成人午夜99999| 99久久99久久免费精品蜜臀| 欧美日韩精品一区二区天天拍小说 | 久久久久99精品国产片| 国产一区二区成人久久免费影院| 3751色影院一区二区三区| 一区二区在线观看视频在线观看| 成人在线综合网站| 欧美日韩精品综合在线| 欧美亚洲一区二区在线观看| 欧美日韩国产a| 三级影片在线观看欧美日韩一区二区 | www.在线欧美| 国产清纯美女被跳蛋高潮一区二区久久w | 91精品婷婷国产综合久久| 亚洲曰韩产成在线| av网站免费线看精品| 国产精品你懂的| 成人av免费在线| 亚洲免费电影在线| 91视频91自| 亚洲精品中文字幕在线观看| 色丁香久综合在线久综合在线观看| 亚洲永久精品大片| 日韩一区二区三区观看| 狠狠网亚洲精品| 亚洲女同ⅹxx女同tv| 色婷婷久久久久swag精品| 亚洲成人福利片| 久久夜色精品国产欧美乱极品| 国产麻豆一精品一av一免费| 国产精品免费看片| 欧美手机在线视频| 久久精品av麻豆的观看方式| 国产色91在线| 欧美高清视频不卡网| 国产毛片精品视频| 亚洲欧美日韩小说| 日韩视频一区二区三区| 在线观看日韩电影| 不卡的av在线播放| 国产**成人网毛片九色| 亚洲h精品动漫在线观看| 欧美经典一区二区| 欧美一区二区三区在| 日本久久一区二区| 成人av午夜电影| 国产美女一区二区三区| 欧美a级理论片| 久久精品久久综合| 日韩精品亚洲专区| 亚洲自拍偷拍欧美| 综合分类小说区另类春色亚洲小说欧美| 欧美精品日韩一本| 欧美日韩精品福利| 欧美精品在线观看播放| 日本高清无吗v一区| 不卡的av电影在线观看| 高清国产午夜精品久久久久久| 国产一区二区三区久久久| 国产剧情一区在线| 成人精品国产一区二区4080| www.欧美色图| 欧美日本一区二区三区| 精品对白一区国产伦| 26uuuu精品一区二区| 日本一区二区视频在线观看| 亚洲女子a中天字幕| 日韩精品乱码av一区二区| 国产一二三精品| 色婷婷综合久久久中文一区二区| 91欧美一区二区| 精品国产网站在线观看| 欧美激情中文字幕一区二区| 午夜一区二区三区在线观看| 久久精品噜噜噜成人88aⅴ| 成人av电影在线观看| 精品视频资源站| 亚洲精品一区二区精华| 一区二区在线观看av| 亚洲三级电影网站| 亚洲欧美韩国综合色| 国内精品嫩模私拍在线| 91网站在线播放| 久久久一区二区| 亚洲男人的天堂在线观看| 免费观看在线综合| 欧美在线视频日韩| 中文字幕一区二区三区精华液 | 欧美大片在线观看一区| 亚洲一区二区不卡免费| 波多野结衣的一区二区三区| 日韩精品一区二| 国产在线精品一区二区夜色| 一区二区三区在线免费视频| 狠狠色丁香婷婷综合久久片| 色国产综合视频| 国产精品高潮久久久久无| 久久99蜜桃精品| 日韩女优视频免费观看| 丝瓜av网站精品一区二区| 日本精品一级二级| 国产精品女人毛片| 国产成人精品免费在线| 2017欧美狠狠色| 国产91清纯白嫩初高中在线观看| 国产视频视频一区| 成人免费视频播放| 综合自拍亚洲综合图不卡区| 99精品视频一区二区三区| 亚洲视频在线观看三级| 色综合久久久久久久久| 午夜在线电影亚洲一区| 日韩视频在线永久播放| 国产精品一区二区久激情瑜伽| 中文字幕免费不卡在线| 欧美视频一区二区在线观看| 日韩影院在线观看| 国产日韩三级在线| 欧美美女激情18p| 国产999精品久久久久久| 一区二区国产视频| 久久久精品中文字幕麻豆发布| 91免费在线看| 国产精品一二三| 日本一道高清亚洲日美韩| 中文字幕在线观看不卡视频| 91精品国产综合久久福利软件| 国产91对白在线观看九色| 爽好多水快深点欧美视频| 亚洲欧洲另类国产综合| 亚洲精品一线二线三线| 538在线一区二区精品国产| 色94色欧美sute亚洲线路一ni| 国产99精品国产| 国产成人综合亚洲91猫咪| 美脚の诱脚舐め脚责91| 亚洲bdsm女犯bdsm网站| 亚洲精品中文字幕在线观看| 国产精品久久久久久久久免费樱桃| 欧美一级欧美一级在线播放| 91福利区一区二区三区| 99国产精品一区| 色综合久久久久| 欧美日韩精品欧美日韩精品一综合| 欧洲亚洲精品在线| 欧美日韩一级视频| 91精品国产手机| 日韩精品一区二区三区视频在线观看| 欧美久久久久免费|