The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/hyperv/utilities/hv_utilreg.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2016 Microsoft Corp.
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice unmodified, this list of conditions, and the following
   10  *    disclaimer.
   11  * 2. Redistributions in binary form must reproduce the above copyright
   12  *    notice, this list of conditions and the following disclaimer in the
   13  *    documentation and/or other materials provided with the distribution.
   14  *
   15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
   16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
   17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
   18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
   19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
   20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
   21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
   22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
   23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
   24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
   25  *
   26  * $FreeBSD$
   27  */
   28 
   29 #ifndef _HV_UTILREG_H_
   30 #define _HV_UTILREG_H_
   31 
   32 /*
   33  * Some Hyper-V status codes.
   34  */
   35 #define HV_S_OK                         0x00000000
   36 #define HV_E_FAIL                       0x80004005
   37 #define HV_S_CONT                       0x80070103
   38 #define HV_ERROR_NOT_SUPPORTED          0x80070032
   39 #define HV_ERROR_MACHINE_LOCKED         0x800704F7
   40 #define HV_ERROR_DEVICE_NOT_CONNECTED   0x8007048F
   41 #define HV_INVALIDARG                   0x80070057
   42 #define HV_GUID_NOTFOUND                0x80041002
   43 
   44 /*
   45  * Common defines for Hyper-V ICs
   46  */
   47 #define HV_ICMSGTYPE_NEGOTIATE          0
   48 #define HV_ICMSGTYPE_HEARTBEAT          1
   49 #define HV_ICMSGTYPE_KVPEXCHANGE        2
   50 #define HV_ICMSGTYPE_SHUTDOWN           3
   51 #define HV_ICMSGTYPE_TIMESYNC           4
   52 #define HV_ICMSGTYPE_VSS                5
   53 
   54 #define HV_ICMSGHDRFLAG_TRANSACTION     1
   55 #define HV_ICMSGHDRFLAG_REQUEST         2
   56 #define HV_ICMSGHDRFLAG_RESPONSE        4
   57 
   58 typedef struct hv_vmbus_pipe_hdr {
   59         uint32_t flags;
   60         uint32_t msgsize;
   61 } __packed hv_vmbus_pipe_hdr;
   62 
   63 typedef struct hv_vmbus_ic_version {
   64         uint16_t major;
   65         uint16_t minor;
   66 } __packed hv_vmbus_ic_version;
   67 
   68 typedef struct hv_vmbus_icmsg_hdr {
   69         hv_vmbus_ic_version     icverframe;
   70         uint16_t                icmsgtype;
   71         hv_vmbus_ic_version     icvermsg;
   72         uint16_t                icmsgsize;
   73         uint32_t                status;
   74         uint8_t                 ictransaction_id;
   75         uint8_t                 icflags;
   76         uint8_t                 reserved[2];
   77 } __packed hv_vmbus_icmsg_hdr;
   78 
   79 typedef struct hv_vmbus_icmsg_negotiate {
   80         uint16_t                icframe_vercnt;
   81         uint16_t                icmsg_vercnt;
   82         uint32_t                reserved;
   83         hv_vmbus_ic_version     icversion_data[1]; /* any size array */
   84 } __packed hv_vmbus_icmsg_negotiate;
   85 
   86 #endif  /* !_HV_UTILREG_H_ */

Cache object: 9d25d2fb8c4a1f03f57b4d3c1fbcee57


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.