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

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

?? target_negotiate.h

?? iscsi源代碼 UNH的progect 有initiator端和target端的源碼
?? H
字號:
/*	common/target_negotiate.h *  * 	This defines the functions used in the Login phase * 	by the iSCSI target for parameter negotiation * *	vi: set autoindent tabstop=8 shiftwidth=4 : * *	This file contains auxilliary functions for iscsi initiator  *	code that are responsible for dealing with error recovery. * *	Copyright (C) 2001-2003 InterOperability Lab (IOL) *	University of New Hampshier (UNH) *	Durham, NH 03824 * *	This program is free software; you can redistribute it and/or modify *	it under the terms of the GNU General Public License as published by *	the Free Software Foundation; either version 2, or (at your option) *	any later version. * *	This program is distributed in the hope that it will be useful, *	but WITHOUT ANY WARRANTY; without even the implied warranty of *	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the *	GNU General Public License for more details. * *	You should have received a copy of the GNU General Public License *	along with this program; if not, write to the Free Software *	Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, *	USA. * *	The name of IOL and/or UNH may not be used to endorse or promote  *	products derived from this software without specific prior  * 	written permission.*/#ifndef	_TARGET_NEGOTIATE_H#define	_TARGET_NEGOTIATE_H#include <asm/semaphore.h>/* names of bit numbers in the iscsi_conn control byte */#define SILENCE_BIT		0#define NEED_NOPIN_BIT		1/* maximum number of unreplied-to NopIns to send to initiator before aborting */#define MAX_OUTSTANDING_NOPINS	4/* maximum number of different IP_address:port listening sockets and threads * (used as size of iscsi_portal_groups[]) */#define MAX_PORTAL	32/* queue item to send a reject pdu back to initiator */struct reject_item {	struct list_head	reject_link;	__u8			bad_header[ISCSI_HDR_LEN];	__u8			reason;};/* global struct to store properties corresponding to an iscsi target */struct iscsi_global{  /* conn_id: id assigned to connections within session */  __u32			conn_id;  /* ntsih: id assigned to target sessions */  __u16			ntsih;  /* Data and Status snack support - SAI */  __u8                  targ_snack_flg;  /* phase-collapse setting - cdeng */  signed char		phase_collapse;    /* session_list: list of sessions */  struct list_head	session_list;  /* bad_session_list: list of sessions that failed during startup */  struct list_head	bad_session_list;  /* session_sem: semaphore to add and remove sessions from both session lists   *	this semaphore also controls access to session->conn_list   */  struct semaphore	session_sem;  /* session_read_mutex: semaphore to read (no changes) both session lists   *	as well as the session->conn_list   */  struct semaphore	session_read_mutex;  /* session_readers: counts number of current readers of the session lists */  __u32			session_readers;  /* server_thr: task struct for the server thread */  struct task_struct	*server_thr[MAX_PORTAL];  /* server_socket: socket on which the server listens */  struct socket		*server_socket[MAX_PORTAL];  /* server_sem: semaphore for killing the server thread */  struct semaphore	server_sem;  /* device: device returned by the STML */  struct STD		*device;  /* force: manageable bits to initialize connection flags */  __u32			force;  /* nop_period: timeout period to send periodic NopIns to initiator */  __u32			nop_period;          /* Added r2t retransmit period - SAI */  __u32			r2t_period;  /* text parameters accepted by the target */  struct parameter_type   (*param_tbl)[MAX_CONFIG_PARAMS];  /* chap parameter - CHONG */  struct auth_parameter_type auth_parameter;};/* stores everything related to an iscsi connection on the target */struct iscsi_conn {	/* conn_link: structure for threading this conn onto lists */	struct list_head conn_link;	/* conn_id: the id for this connection */	int conn_id;	/* cid: connection id assigned by the Initiator */	__u16 cid;	/* portal_group_tag: target_portal_group_tag for the connection */	__u16 portal_group_tag;	/* conn_socket: socket used by this connection */	struct socket *conn_socket;	/* session: what session does this connection belong to */	struct iscsi_session *session;	/* dev: device on which this connection was received */	struct iscsi_global *dev;	/* rx_thread: task struct for rx_thread */	struct task_struct *rx_thread;	/* tx_thread: task struct for tx_thread */	struct task_struct *tx_thread;	/* tx_sem: semaphore to control operation of tx_thread */	struct semaphore tx_sem;	/* semaphores to kill rx and tx threads */	struct semaphore kill_rx_sem;	struct semaphore kill_tx_sem;	/* reject_list: list of rejects to be sent back to initiator */	struct list_head	reject_list;	/* reject_sem: semaphore to add/remove reject items */	struct semaphore reject_sem;	/* bad_hdr: complete header of bad PDU for reject */	__u8 bad_hdr[ISCSI_HDR_LEN];	/* hdr_crc: 1 if header digest in use, else 0 */	int hdr_crc;	/* data_crc: 1 if data digest in use, else 0 */	int data_crc;	/* active: 1 if connection is in use, else 0 */	__u8 active;	/* control: bits to control tx thread wakeups, sending NopIn pings */	unsigned long control;	/* nop_period: timeout period to send periodic NopIns to initiator */	__u32 nop_period;	struct timer_list nop_timer;	/* outstanding_nopins: number of NopIns sent but not yet replied to */	atomic_t outstanding_nopins;	/* connection_flags: bits to control stuff during login and FFP */	__u32 connection_flags;	/* text_in_progress: ptr to text command in-progress, else NULL */	void *text_in_progress;	/* text_in_progress_sem: semaphore to add/remove text_in_progress */	struct semaphore text_in_progress_sem;	/* 	 * Connection WIDE COUNTERS: stat_sn	 */	__u32 stat_sn;	__u32 max_send_length;	/*initiator's MaxRecvPDULength */	__u32 max_recv_length;	/*target's MaxRecvPDULength */	/* fields to keep track of ip addresses */	struct sockaddr *ip_address;	/* initiator's ipv4/ipv6 address */	struct sockaddr *local_ip_address;/* target's ipv4/ipv6 address */};/* stores everything related to an iscsi session on the target */struct iscsi_session {	/* sess_link: structure for threading this session onto lists */	struct list_head sess_link;	/* isid: id assigned to a session by the Initiator */	__u8 isid[6];	/* SNACK flags for Error Recovery - SAI */	__u8 targ_snack_flg;	/* tsih: id assigned to a session by the Target */	__u16 tsih;	/* portal_group_tag: target_portal_group_tag for the session */	__u16 portal_group_tag;	/* cmnd_id: these are the values assigned as target_tags */	__u32 cmnd_id;	/* cmnd_list: list of commands received within session */	struct iscsi_cmnd *cmnd_list;	/* conn_sem: semaphore to add/remove commands and reject items */	struct semaphore cmnd_sem;	/* nconn: no of active connections */	int nconn;	/* conn_list: list of connections within session	 *	access to this list is under protection of the session_sem	 *	it can be read only when session_list is read protected	 *	it can be written only when session_list is write protected	 */	struct list_head conn_list;	/* devdata: pointer to the device specific data */	struct iscsi_global *devdata;	/* Added the r2t retransmit timer - SAI */	__u32 r2t_period;	struct timer_list *r2t_timer;	/* error recovery ver ref18_04 */	struct task_struct *retran_thread;	struct semaphore retran_sem;	struct semaphore thr_kill_sem;	/* For parameters */	struct parameter_type (*session_params)[MAX_CONFIG_PARAMS];	struct session_operational_parameters *oper_param;	/* version identifiers */	__u8 version_min;	__u8 version_max;	__u8 version_active;	/*	 * SESSION WIDE COUNTERS: exp_cmd_sn and max_cmd_sn	 */	__u32 cmd_sn;	__u32 exp_cmd_sn;	__u32 max_cmd_sn;	/* command ordering variables - SAI */	struct semaphore cmd_order_sem;	struct order_cmd *cmd_order_head;	struct order_cmd *cmd_order_tail;};void __attribute__ ((no_instrument_function))print_isid_tsih_message(struct iscsi_session *session, char *message);int parameter_negotiate(struct iscsi_conn *conn,			struct parameter_type p_param_tbl[MAX_CONFIG_PARAMS],			struct iscsi_init_login_cmnd *loginpdu,			__u32 when_called,			struct auth_parameter_type auth_param);/* set back the leading only keys if these keys were set to be * " KEY_TO_BE_NEGOTIATED" in the leading connection negotation.*/void reset_parameter_table(struct parameter_type			   p_param_tbl[MAX_CONFIG_PARAMS]);/* * iscsi_release_session: This function is responsible for closing out * a session and removing it from whatever list it is on. * INPUT: session to be released * OUTPUT: 0 if success, < 0 if there is trouble */intiscsi_release_session(struct iscsi_session *session);#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产欧美一区二区三区丁香婷| 26uuu另类欧美亚洲曰本| 久久久亚洲精品一区二区三区| 一区在线观看视频| 久草精品在线观看| 91福利在线看| 精品国产乱码久久久久久浪潮| 依依成人精品视频| 国产精品小仙女| 欧美一级在线观看| 亚洲精品写真福利| 粉嫩av一区二区三区| 欧美一级理论片| 亚洲一区二区三区四区不卡| 成人爽a毛片一区二区免费| 欧美成人综合网站| 五月天久久比比资源色| 91在线云播放| 国产精品久久久爽爽爽麻豆色哟哟 | 色999日韩国产欧美一区二区| 精品久久久久久久人人人人传媒| 亚洲成人精品一区| 色网站国产精品| 中文在线资源观看网站视频免费不卡| 日韩成人精品在线观看| 欧美日韩国产另类一区| 亚洲免费观看高清在线观看| 国产91在线看| 久久婷婷国产综合国色天香| 热久久久久久久| 欧美情侣在线播放| 亚洲制服丝袜一区| 色偷偷88欧美精品久久久| 国产精品久久久久婷婷二区次| 日本麻豆一区二区三区视频| 91电影在线观看| 亚洲精品欧美二区三区中文字幕| 99国产精品久久久久| 日本一区二区在线不卡| 国产精品1区二区.| www国产成人免费观看视频 深夜成人网 | 91黄色免费看| 一区二区成人在线观看| a4yy欧美一区二区三区| 国产午夜精品久久久久久久 | 奇米影视在线99精品| 欧美一区二区三级| 蜜桃视频一区二区三区在线观看| 欧美一区二区精品| 日本人妖一区二区| 欧美一级电影网站| 国产精品久久久久久久久图文区| 国产成人综合精品三级| 欧美精品一区二区三区久久久| 日日摸夜夜添夜夜添亚洲女人| 欧美三级一区二区| 一区二区三区在线视频观看| 91免费版在线看| 国产精品美女久久久久久久| 国产福利视频一区二区三区| 精品国产免费一区二区三区四区 | 欧美精品乱人伦久久久久久| 亚洲主播在线观看| 欧美色精品在线视频| 一二三四区精品视频| 色婷婷一区二区三区四区| 日韩毛片精品高清免费| 一本大道av一区二区在线播放| 国产精品毛片无遮挡高清| 国产91在线看| 久久女同精品一区二区| 国内成人精品2018免费看| 久久久综合网站| 国产成人综合自拍| 中文字幕一区二区三| 99麻豆久久久国产精品免费| 亚洲免费伊人电影| 精品视频色一区| 日本美女一区二区| 久久亚洲春色中文字幕久久久| 国产一区二区不卡老阿姨| 精品久久久久久久人人人人传媒 | 欧美xxxx在线观看| 蜜臀av亚洲一区中文字幕| 欧美一二三四区在线| 久久99精品久久久久婷婷| 国产清纯美女被跳蛋高潮一区二区久久w| 国产麻豆精品在线| 国产精品高潮久久久久无| 91麻豆国产精品久久| 亚洲国产日韩a在线播放| 91麻豆精品国产91久久久久久久久 | 久久综合给合久久狠狠狠97色69| 国产综合色在线| 中文字幕av一区二区三区高| 97久久精品人人澡人人爽| 一区二区三区在线观看欧美| 7777精品伊人久久久大香线蕉经典版下载 | 国产999精品久久久久久| 亚洲天堂免费看| 欧美日韩免费观看一区二区三区 | 2019国产精品| 不卡大黄网站免费看| 亚洲第一激情av| 精品久久久久久久一区二区蜜臀| 成人免费毛片片v| 亚洲午夜视频在线观看| 精品1区2区3区| 日韩高清在线观看| 国产亚洲精品中文字幕| 色婷婷狠狠综合| 免费欧美日韩国产三级电影| 国产欧美一区二区三区鸳鸯浴| 色婷婷综合五月| 麻豆国产精品777777在线| 国产精品你懂的在线欣赏| 欧美日韩一级二级三级| 黄页网站大全一区二区| 亚洲视频在线观看三级| 日韩欧美国产一区二区在线播放| 国产精品1区二区.| 亚洲精品国产一区二区三区四区在线| 日本久久一区二区三区| 国内久久婷婷综合| 亚洲一卡二卡三卡四卡无卡久久 | 蜜臀精品久久久久久蜜臀| 中文字幕免费观看一区| 欧美日韩国产色站一区二区三区| 国产99久久久国产精品免费看| 一区二区欧美视频| 国产三级一区二区| 6080yy午夜一二三区久久| av网站一区二区三区| 免费在线看一区| 亚洲柠檬福利资源导航| 日韩免费一区二区| 欧美午夜不卡视频| 成人免费观看男女羞羞视频| 男人操女人的视频在线观看欧美| 国产精品黄色在线观看| 欧美成人激情免费网| 欧美做爰猛烈大尺度电影无法无天| 国产精品亚洲视频| 五月婷婷色综合| 日韩美女视频一区| 久久精品视频在线看| 91精品国产综合久久精品| 91婷婷韩国欧美一区二区| 麻豆国产精品一区二区三区 | 久久99精品一区二区三区 | 色综合久久中文字幕综合网| 精品一区二区三区免费毛片爱| 污片在线观看一区二区| 综合久久给合久久狠狠狠97色| 久久久精品日韩欧美| 欧美一区二区三区精品| 欧美日韩中字一区| 91免费观看在线| 成人免费毛片app| 国产一区在线看| 亚洲国产欧美在线人成| 亚洲图片自拍偷拍| 亚洲品质自拍视频网站| 国产蜜臀av在线一区二区三区| 精品国产一区二区精华| 欧美日韩免费观看一区二区三区 | 麻豆精品精品国产自在97香蕉| 亚洲国产裸拍裸体视频在线观看乱了 | 中文字幕在线播放不卡一区| 久久久精品日韩欧美| 久久久久久久久一| 精品久久久久久无| 日韩午夜精品视频| 日韩一区二区麻豆国产| 欧美精品v国产精品v日韩精品| 欧美亚洲另类激情小说| 色天使色偷偷av一区二区| 99精品一区二区三区| 成人高清av在线| 成人av网站免费观看| 国产69精品久久久久毛片| 久久狠狠亚洲综合| 国产又粗又猛又爽又黄91精品| 狠狠色丁香婷婷综合| 久久精品国产亚洲5555| 麻豆精品一区二区av白丝在线| 欧美bbbbb| 国模一区二区三区白浆| 国产一区二区视频在线| 国产综合久久久久影院| 国产河南妇女毛片精品久久久| 国产成人免费网站| 国产一区亚洲一区| 北岛玲一区二区三区四区| 色综合网站在线| 欧洲精品在线观看| 欧美视频日韩视频| 欧美tickling挠脚心丨vk| 日韩视频永久免费| 久久久精品tv|