Hallo, dies ist ein Test.
PWD: /www/data-lst1/unixsoft/unixsoft/kaempfer/.public_html
Running in File Mode
Relative path: ./../../../../../../usr/include/tss/../ipmp_mpathd.h
Real path: /usr/include/ipmp_mpathd.h
Zurück
/* * Copyright (c) 2009, 2014, Oracle and/or its affiliates. All rights reserved. */ #ifndef _IPMP_MPATHD_H #define _IPMP_MPATHD_H /* * Definitions for the messaging protocol between in.mpathd and libipmp. * This interface is project-private to the IPMP subsystem. */ #include <sys/types.h> #include <sys/socket.h> /* needed for <net/if.h> */ #include <net/if.h> /* needed for LIFNAMSIZ */ #ifdef __cplusplus extern "C" { #endif #define MPATHD_PORT 5999 #define MPATHD_PATH "/lib/inet/in.mpathd" /* * Supported commands. */ enum { MI_PING = 0, /* ping in.mpathd */ MI_OFFLINE = 1, /* offline the interface */ MI_UNDO_OFFLINE = 2, /* undo the offline */ MI_QUERY = 3, /* query ipmp-related information */ MI_REFRESH = 4, /* refresh IPMP group configuration */ MI_NCMD /* total number of commands */ }; /* * Types of information which can be requested and received (except for * IPMP_IFLIST and IPMP_ADDRLIST, which can only be received). */ typedef enum { IPMP_GROUPLIST = 1, IPMP_GROUPINFO = 2, IPMP_IFINFO = 3, IPMP_IFLIST = 4, IPMP_SNAP = 5, IPMP_ADDRLIST = 6, IPMP_ADDRINFO = 7 } ipmp_infotype_t; /* * Daemon ping request. */ typedef struct mi_ping { uint32_t mip_command; } mi_ping_t; /* * Interface offline request; `mio_ifname' is the interface to offline; * `mio_min_redundancy' is the minimum amount of usable interfaces after * offline that must exist for the operation to succeed. */ typedef struct mi_offline { uint32_t mio_command; uint32_t mio_min_redundancy; char mio_ifname[LIFNAMSIZ]; } mi_offline_t; /* * Interface undo-offline request; `miu_uname' is the interface to * undo-offline. */ typedef struct mi_undo_offline { uint32_t miu_command; uint32_t miu_padding; char miu_ifname[LIFNAMSIZ]; } mi_undo_offline_t; /* * IPMP group refresh configuration request; `mir_grname' is the group to * refresh the configuration. */ typedef struct mi_refresh { uint32_t mir_command; uint32_t mir_padding; char mir_grname[LIFNAMSIZ]; } mi_refresh_t; /* * Retrieve IPMP-related information: `miq_inforeq' is the type of information * being request (see above for the list of types). If the request type is * IPMP_GROUPINFO, then `miq_grname' indicates the group. If the request type * is IPMP_IFINFO, then `miq_ifname' indicates the interface. If the request * type is IPMP_ADDRINFO then `miq_grname' indicates the group and `miq_addr' * indicates the address. */ typedef struct mi_query { uint32_t miq_command; ipmp_infotype_t miq_inforeq; union { char miqu_ifname[LIFNAMSIZ]; char miqu_grname[LIFGRNAMSIZ]; } miq_infodata; struct sockaddr_storage miq_addr; } mi_query_t; #define miq_ifname miq_infodata.miqu_ifname #define miq_grname miq_infodata.miqu_grname /* * Union of all commands. Can be used to estimate the maximum buffer size * requirement for receiving any command. */ union mi_commands { uint32_t mi_command; mi_ping_t mi_pcmd; mi_offline_t mi_ocmd; mi_undo_offline_t mi_ucmd; mi_query_t mi_qcmd; mi_refresh_t mi_rcmd; }; /* * Result structure returned by in.mpathd. */ typedef struct mi_result { int32_t me_sys_error; /* System error (errno.h) */ int32_t me_mpathd_error; /* Mpathd error */ } mi_result_t; #define IPMP_REQTIMEOUT 10 /* seconds */ extern int ipmp_connect(int *); extern int ipmp_read(int, void *, size_t, const struct timeval *); extern int ipmp_write(int, const void *, size_t); extern int ipmp_writetlv(int, ipmp_infotype_t, size_t, void *); extern int ipmp_readtlv(int, ipmp_infotype_t *, size_t *, void **, const struct timeval *); #ifdef __cplusplus } #endif #endif /* _IPMP_MPATHD_H */