|
Packit |
eace71 |
/*
|
|
Packit |
eace71 |
* This program is free software; you can redistribute it and/or modify
|
|
Packit |
eace71 |
* it under the terms of the GNU General Public License as published by
|
|
Packit |
eace71 |
* the Free Software Foundation; either version 2 of the License, or
|
|
Packit |
eace71 |
* (at your option) any later version.
|
|
Packit |
eace71 |
*
|
|
Packit |
eace71 |
* This program is distributed in the hope that it will be useful,
|
|
Packit |
eace71 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
eace71 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
Packit |
eace71 |
* GNU General Public License for more details.
|
|
Packit |
eace71 |
*
|
|
Packit |
eace71 |
* You should have received a copy of the GNU General Public License
|
|
Packit |
eace71 |
* along with this program; if not, write to the Free Software
|
|
Packit |
eace71 |
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
|
|
Packit |
eace71 |
*
|
|
Packit |
eace71 |
* Copyright (C) IBM Corporation. 2007
|
|
Packit |
eace71 |
* Author: Doug Maxey <dwm@austin.ibm.com>
|
|
Packit |
eace71 |
* "Prasanna Mumbai" <mumbai.prasanna@gmail.com>
|
|
Packit |
eace71 |
*
|
|
Packit |
eace71 |
*/
|
|
Packit |
eace71 |
#ifndef FWPARAM_CONTEXT_H_
|
|
Packit |
eace71 |
#define FWPARAM_CONTEXT_H_
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#include <netdb.h>
|
|
Packit |
eace71 |
#include <net/if.h>
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#include "iscsi_proto.h"
|
|
Packit |
eace71 |
#include "list.h"
|
|
Packit |
eace71 |
#include "auth.h"
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
enum ibft_ip_prefix_origin {
|
|
Packit |
eace71 |
IBFT_IP_PREFIX_ORIGIN_OTHER = 0,
|
|
Packit |
eace71 |
IBFT_IP_PREFIX_ORIGIN_MANUAL,
|
|
Packit |
eace71 |
IBFT_IP_PREFIX_ORIGIN_WELL_KNOWN,
|
|
Packit |
eace71 |
IBFT_IP_PREFIX_ORIGIN_DHCP,
|
|
Packit |
eace71 |
IBFT_IP_PREFIX_ORIGIN_ROUTER_ADVERTISEMENT,
|
|
Packit |
eace71 |
IBFT_IP_PREFIX_ORIGIN_UNCHANGED = 16
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
struct boot_context {
|
|
Packit |
eace71 |
struct list_head list;
|
|
Packit |
eace71 |
char boot_root[BOOT_NAME_MAXLEN];
|
|
Packit |
eace71 |
char boot_nic[BOOT_NAME_MAXLEN];
|
|
Packit |
eace71 |
char boot_target[BOOT_NAME_MAXLEN];
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/* target settings */
|
|
Packit |
eace71 |
int target_flags;
|
|
Packit |
eace71 |
int target_port;
|
|
Packit |
eace71 |
char targetname[TARGET_NAME_MAXLEN + 1];
|
|
Packit |
eace71 |
char target_ipaddr[NI_MAXHOST];
|
|
Packit |
eace71 |
char chap_name[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
char chap_password[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
char chap_name_in[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
char chap_password_in[AUTH_STR_MAX_LEN];
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/* initiator settings */
|
|
Packit |
eace71 |
char isid[10];
|
|
Packit |
eace71 |
char initiatorname[TARGET_NAME_MAXLEN + 1];
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
/* network settings */
|
|
Packit |
eace71 |
int nic_flags;
|
|
Packit |
eace71 |
enum ibft_ip_prefix_origin origin;
|
|
Packit |
eace71 |
int prefix;
|
|
Packit |
eace71 |
char dhcp[NI_MAXHOST];
|
|
Packit |
eace71 |
char iface[IF_NAMESIZE];
|
|
Packit |
eace71 |
char mac[18];
|
|
Packit |
eace71 |
char ipaddr[NI_MAXHOST];
|
|
Packit |
eace71 |
char gateway[NI_MAXHOST];
|
|
Packit |
eace71 |
char primary_dns[NI_MAXHOST];
|
|
Packit |
eace71 |
char secondary_dns[NI_MAXHOST];
|
|
Packit |
eace71 |
char mask[NI_MAXHOST];
|
|
Packit |
eace71 |
char lun[17];
|
|
Packit |
eace71 |
char vlan[15];
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
char scsi_host_name[64];
|
|
Packit |
eace71 |
};
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
extern int fw_get_entry(struct boot_context *context);
|
|
Packit |
eace71 |
extern void fw_print_entry(struct boot_context *context);
|
|
Packit |
eace71 |
extern int fw_get_targets(struct list_head *list);
|
|
Packit |
eace71 |
extern void fw_free_targets(struct list_head *list);
|
|
Packit |
eace71 |
extern int fw_setup_nics(void);
|
|
Packit |
eace71 |
|
|
Packit |
eace71 |
#endif /* FWPARAM_CONTEXT_H_ */
|