Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/./include/libdlib.h
Real path: /usr/include/libdlib.h
Zurück
/* * Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved. */ #ifndef _LIBDLIB_H #define _LIBDLIB_H #ifdef __cplusplus extern "C" { #endif #include <sys/types.h> #include <sys/ib/ib_types.h> /* * Interfaces for IPoIB partition object management. */ #define MAXPKEYSTRSZ 968 #define MAXPKEYLEN 6 #define IBGUIDSTRLEN 16 #define IBPORTSTRLEN 5 #define DLADM_PART_FORCE_CREATE 0x1 typedef struct dladm_ib_attr_s { datalink_id_t dia_physlinkid; /* IB Phys link datalink ID */ datalink_id_t dia_partlinkid; /* IB Partition datalink ID */ ib_pkey_t dia_pkey; /* IB partitions P_Key */ uint32_t dia_flags; uint_t dia_portnum; /* IB Phys link's HCA port number */ int dia_instance; /* IP over IB driver instance number */ ib_guid_t dia_hca_guid; /* IB HCA GUID */ ib_guid_t dia_port_guid; /* IB HCA Port GUID */ uint_t dia_port_pkey_tbl_sz; ib_pkey_t *dia_port_pkeys; /* Ptr to the P_Key table */ boolean_t dia_anet; /* zonecfg anet datalink */ zoneid_t dia_target_zoneid; /* set only for anet datalinks */ } dladm_ib_attr_t; typedef struct dladm_ib_attr_s dladm_part_attr_t; typedef enum { DLADM_UD_MODE = 0, DLADM_CM_MODE } dladm_linkmode_t; typedef enum { DLADM_BROADCAST_GROUP_UNKNOWN = 0, DLADM_BROADCAST_GROUP_ABSENT, DLADM_BROADCAST_GROUP_JOINED, DLADM_BROADCAST_GROUP_UNSUCCESSFUL } dladm_broadcast_group_state_t; /* Utility functions for converting from pkey to string and vice versa. */ extern dladm_status_t dladm_str2pkey(char *, ib_pkey_t *); extern dladm_status_t dladm_pkey2str(ib_pkey_t, char *); extern dladm_status_t dladm_part_create(dladm_handle_t, datalink_id_t, ib_pkey_t, uint32_t, char *, datalink_id_t *, dladm_arg_list_t *); extern dladm_status_t dladm_part_create_zone(dladm_handle_t, zoneid_t, datalink_id_t, ib_pkey_t, uint32_t, char *, datalink_id_t *, dladm_arg_list_t *, boolean_t); extern dladm_status_t dladm_part_delete(dladm_handle_t, datalink_id_t, int); extern dladm_status_t dladm_part_up(dladm_handle_t, datalink_id_t, uint32_t); extern dladm_status_t dladm_part_down(dladm_handle_t, datalink_id_t, uint32_t); extern dladm_status_t dladm_part_info(dladm_handle_t, datalink_id_t, dladm_part_attr_t *, uint32_t); extern dladm_status_t dladm_ib_info(dladm_handle_t, datalink_id_t, dladm_ib_attr_t *, uint32_t); extern void dladm_free_ib_info(dladm_ib_attr_t *); extern boolean_t dladm_same_vhca_hca_port(dladm_handle_t, datalink_id_t, datalink_id_t); /* * Interfaces for EoIB datalink management. */ #define EIB_RESERVED_GWPORT "reserved" /* * Lengths of objects defined in EoIB FIP as well the values used by the * EoIB ioctls for storing that information (the latter always slightly * larger than the former) */ #define EIB_FIP_GW_SYSNAME_LEN 32 #define EIB_GW_SYSNAME_LEN 40 #define EIB_FIP_GW_PORTNAME_LEN 8 #define EIB_GW_PORTNAME_LEN 16 /* * Gateway availability indicators returned by the ioctls */ #define EIB_AVL_GW_AVAILABLE ((uint32_t)1 << 16) #define EIB_AVL_HOST_ADM_OK ((uint32_t)1 << 17) #define EIB_AVL_GW_DEAD ((uint32_t)1 << 31) #define EIB_AVL_NET_VNICS_MASK (0xffff) typedef struct dladm_eoib_gw_attr_s { datalink_id_t ga_ib_physlinkid; uint32_t ga_gw_portid; uint32_t ga_gw_availability; char ga_gw_name[EIB_GW_SYSNAME_LEN]; char ga_gw_port[EIB_GW_PORTNAME_LEN]; } dladm_eoib_gw_attr_t; typedef struct dladm_eoib_gw_info_s { uint32_t gi_num_entries; dladm_eoib_gw_attr_t *gi_list; } dladm_eoib_gw_info_t; typedef struct dladm_eoib_attr_s { ib_guid_t ea_port_guid; datalink_id_t ea_linkid; datalink_id_t ea_ib_physlinkid; uint32_t ea_gw_portid; uint32_t ea_gw_availability; char ea_gw_name[EIB_GW_SYSNAME_LEN]; char ea_gw_port[EIB_GW_PORTNAME_LEN]; } dladm_eoib_attr_t; typedef struct dladm_eoib_info_s { uint32_t ei_num_entries; dladm_eoib_attr_t *ei_list; } dladm_eoib_info_t; typedef struct dladm_eoib_create_s { ib_guid_t ec_hca_guid; ib_guid_t ec_port_guid; uint32_t ec_hca_num; uint32_t ec_port_num; uint32_t ec_flags; datalink_id_t ec_ib_physlinkid; char ec_linkname[MAXLINKNAMELEN]; char ec_gw_name[EIB_GW_SYSNAME_LEN]; char ec_gw_port[EIB_GW_PORTNAME_LEN]; } dladm_eoib_create_t; extern dladm_status_t dladm_eoib_create(dladm_handle_t, dladm_eoib_create_t *, datalink_id_t *); extern dladm_status_t dladm_eoib_delete(dladm_handle_t, datalink_id_t, uint32_t); extern dladm_status_t dladm_eoib_up(dladm_handle_t, datalink_id_t); extern dladm_status_t dladm_eoib_down(dladm_handle_t, datalink_id_t); extern dladm_status_t dladm_eoib_info(dladm_handle_t, datalink_id_t, dladm_eoib_info_t **, uint32_t); extern void dladm_eoib_free_info(dladm_eoib_info_t *); extern dladm_status_t dladm_eoib_gwinfo(dladm_handle_t, dladm_eoib_gw_info_t **); extern void dladm_eoib_free_gwinfo(dladm_eoib_gw_info_t *); #ifdef __cplusplus } #endif #endif /* _LIBDLIB_H */