VirtualBox

Changeset 25984 in vbox for trunk/include/VBox


Ignore:
Timestamp:
Jan 23, 2010 12:19:47 AM (15 years ago)
Author:
vboxsync
Message:

pdmifs.h: the penultimate batch of refactored interface ID code.

Location:
trunk/include/VBox
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/VBox/pdmifs.h

    r25981 r25984  
    3838/** @defgroup grp_pdm_interfaces    The PDM Interface Definitions
    3939 * @ingroup grp_pdm
     40 *
     41 * For historical reasons (the PDMINTERFACE enum) a lot of interface was stuffed
     42 * together in this group instead, dragging stuff into global space that didn't
     43 * need to be there and making this file huge (>2500 lines).  Since we're using
     44 * UUIDs as interface identifiers (IIDs) now, no only generic PDM interface will
     45 * be added to this file.  Component specific interface should be defined in the
     46 * header file of that component.
     47 *
     48 * Interfaces consists of a method table (typedef'ed struct) and an interface
     49 * ID.  The typename of the method table should have an 'I' in it, be all
     50 * capitals and according to the rules, no underscores.  The interface ID is a
     51 * \#define constructed by appending '_IID' to the typename. The IID value is a
     52 * UUID string on the form "a2299c0d-b709-4551-aa5a-73f59ffbed74".  If you stick
     53 * to these rules, you can make use of the PDMIBASE_QUERY_INTERFACE and
     54 * PDMIBASE_RETURN_INTERFACE when querying interface and implementing
     55 * PDMIBASE::pfnQueryInterface respectively.
     56 *
    4057 * @{
    4158 */
     
    4663 * @{
    4764 */
    48 /** PDMIAUDIOCONNECTOR      - The audio driver interface.           (Up)    No coupling. */
    49 #define PDMINTERFACE_AUDIO_CONNECTOR            "85d52af5-b3aa-4b3e-b176-4b5ebfc52f47"
    50 
    51 /** PDMIAUDIOSNIFFERPORT    - The Audio Sniffer Device port interface. */
    52 #define PDMINTERFACE_AUDIO_SNIFFER_PORT         "83b95e02-68cb-470d-9dfc-25a0f8efe197"
    53 /** PDMIAUDIOSNIFFERCONNECTOR - The Audio Sniffer Driver connector interface. */
    54 #define PDMINTERFACE_AUDIO_SNIFFER_CONNECTOR    "433b64ab-e603-4933-bc97-8fe79b2bd0e0"
    55 
    56 /** PDMIVMMDEVPORT          - The VMM Device port interface. */
    57 #define PDMINTERFACE_VMMDEV_PORT                "d7e52035-3b6c-422e-9215-2a75646a945d"
    58 /** PDMIVMMDEVCONNECTOR     - The VMM Device connector interface. */
    59 #define PDMINTERFACE_VMMDEV_CONNECTOR           "38b96194-ee83-489e-b92e-73ee28a29439"
    60 
    61 /** PDMILEDPORTS            - The generic LED port interface.       (Down)  Coupled with PDMINTERFACE_LED_CONNECTORS. */
    62 #define PDMINTERFACE_LED_PORTS                  "435e0cec-8549-4ca0-8c0d-98e52f1dc038"
    63 /** PDMILEDCONNECTORS       - The generic LED connector interface.  (Up)    Coupled with PDMINTERFACE_LED_PORTS.  */
    64 #define PDMINTERFACE_LED_CONNECTORS             "8ed63568-82a7-4193-b57b-db8085ac4495"
    65 
    66 /** PDMIACPIPORT            - ACPI port interface.                  (Down)   Coupled with PDMINTERFACE_ACPI_CONNECTOR. */
    67 #define PDMINTERFACE_ACPI_PORT                  "30d3dc4c-6a73-40c8-80e9-34309deacbb3"
    68 /** PDMIACPICONNECTOR       - ACPI connector interface.             (Up)     Coupled with PDMINTERFACE_ACPI_PORT. */
    69 #define PDMINTERFACE_ACPI_CONNECTOR             "5f14bf8d-1edf-4e3a-a1e1-cca9fd08e359"
    70 
    71 /** PDMIHGCMPORT            - The Host-Guest communication manager port interface. Normally implemented by VMMDev. */
    72 #define PDMINTERFACE_HGCM_PORT                  "e00a0cbf-b75a-45c3-87f4-41cddbc5ae0b"
    73 /** PDMIHGCMCONNECTOR       - The Host-Guest communication manager connector interface. Normally implemented by Main::VMMDevInterface. */
    74 #define PDMINTERFACE_HGCM_CONNECTOR             "a1104758-c888-4437-8f2a-7bac17865b5c"
    75 
    76 /** VUSBIROOTHUBPORT        - VUSB RootHub port interface.          (Down)   Coupled with PDMINTERFACE_USB_RH_CONNECTOR. */
    77 #define PDMINTERFACE_VUSB_RH_PORT               "e38e2978-7aa2-4860-94b6-9ef4a066d8a0"
    78 /** VUSBIROOTHUBCONNECTOR   - VUSB RootHub connector interface.     (Up)     Coupled with PDMINTERFACE_USB_RH_PORT. */
    79 #define PDMINTERFACE_VUSB_RH_CONNECTOR          "d9a90c59-e3ff-4dff-9754-844557c3f7a0"
    80 /** VUSBIRHCONFIG           - VUSB RootHub configuration interface. (Main)   Used by the managment api. */
    81 #define PDMINTERFACE_VUSB_RH_CONFIG             "c354cd97-e85f-465e-bc12-b58798465f52"
    82 
    83 /** VUSBIDEVICE             - VUSB Device interface.                (Up)     No coupling. */
    84 #define PDMINTERFACE_VUSB_DEVICE                "88732dd3-0ccd-4625-b040-48804ac7a217"
    85 
    86 /** PDMIHOSTPARALLELPORT    - The Host Parallel port interface.     (Down)   Coupled with PDMINTERFACE_HOST_PARALLEL_CONNECTOR. */
    87 #define PDMINTERFACE_HOST_PARALLEL_PORT         "ac13e437-cd30-47ac-a271-6120571f3a22"
    88 /** PDMIHOSTPARALLELCONNECTOR - The Host Parallel connector interface (Up)   Coupled with PDMINTERFACE_HOST_PARALLEL_PORT. */
    89 #define PDMINTERFACE_HOST_PARALLEL_CONNECTOR    "a03567ca-b29e-4a1b-b2f3-a12435fa2982"
    90 
    91 /** PDMISCSIPORT            - The SCSI command execution port interface (Down) Coupled with PDMINTERFACE_SCSI_CONNECTOR. */
    92 #define PDMINTERFACE_SCSI_PORT                  "0f894add-714d-4a77-818e-a32fe3586ba4"
    93 /** PDMISCSICONNECTOR       - The SCSI command execution connector interface (Up) Coupled with PDMINTERFACE_SCSI_PORT. */
    94 #define PDMINTERFACE_SCSI_CONNECTOR             "94465fbd-a2f2-447e-88c9-7366421bfbfe"
     65
     66/* gsrc -r PDMINTERFACE */
     67
     68
    9569/** @} */
    9670
     
    14191393typedef struct PDMIHOSTPARALLELPORT *PPDMIHOSTPARALLELPORT;
    14201394/**
    1421  * Host parallel port interface.
     1395 * Host parallel port interface (down).
    14221396 * Pair with PDMIHOSTPARALLELCONNECTOR.
    14231397 */
     
    14441418    DECLR3CALLBACKMEMBER(int, pfnNotifyInterrupt,(PPDMIHOSTPARALLELPORT pInterface));
    14451419} PDMIHOSTPARALLELPORT;
     1420/** PDMIHOSTPARALLELPORT interface ID. */
     1421#define PDMIHOSTPARALLELPORT_IID                "ac13e437-cd30-47ac-a271-6120571f3a22"
    14461422
    14471423
     
    14501426typedef struct PDMIHOSTPARALLELCONNECTOR *PPDMIHOSTPARALLELCONNECTOR;
    14511427/**
    1452  * Host parallel connector interface
     1428 * Host parallel connector interface (up).
    14531429 * Pair with PDMIHOSTPARALLELPORT.
    14541430 */
     
    15171493    DECLR3CALLBACKMEMBER(int, pfnSetMode,(PPDMIHOSTPARALLELCONNECTOR pInterface, PDMPARALLELPORTMODE enmMode));
    15181494} PDMIHOSTPARALLELCONNECTOR;
     1495/** PDMIHOSTPARALLELCONNECTOR interface ID. */
     1496#define PDMIHOSTPARALLELCONNECTOR_IID           "a03567ca-b29e-4a1b-b2f3-a12435fa2982"
    15191497
    15201498
     
    15531531typedef struct PDMIACPIPORT *PPDMIACPIPORT;
    15541532/**
    1555  * ACPI port interface.
     1533 * ACPI port interface (down). Used by both the ACPI driver and (grumble) main.
     1534 * Pair with PDMIACPICONNECTOR.
    15561535 */
    15571536typedef struct PDMIACPIPORT
     
    16011580    DECLR3CALLBACKMEMBER(int, pfnGetCpuStatus,(PPDMIACPIPORT pInterface, unsigned uCpu, bool *pfLocked));
    16021581} PDMIACPIPORT;
     1582/** PDMIACPIPORT interface ID. */
     1583#define PDMIACPIPORT_IID                        "30d3dc4c-6a73-40c8-80e9-34309deacbb3"
     1584
    16031585
    16041586/** Pointer to an ACPI connector interface. */
    16051587typedef struct PDMIACPICONNECTOR *PPDMIACPICONNECTOR;
    16061588/**
    1607  * ACPI connector interface.
     1589 * ACPI connector interface (up).
     1590 * Pair with PDMIACPIPORT.
    16081591 */
    16091592typedef struct PDMIACPICONNECTOR
     
    16311614                                                     PPDMACPIBATSTATE penmBatteryState, uint32_t *pu32PresentRate));
    16321615} PDMIACPICONNECTOR;
     1616/** PDMIACPICONNECTOR interface ID. */
     1617#define PDMIACPICONNECTOR_IID                   "5f14bf8d-1edf-4e3a-a1e1-cca9fd08e359"
    16331618
    16341619
     
    16361621typedef struct PDMIVMMDEVPORT *PPDMIVMMDEVPORT;
    16371622/**
    1638  * VMMDevice port interface.
     1623 * VMMDevice port interface (down).
     1624 * Pair with PDMIVMMDEVCONNECTOR.
    16391625 */
    16401626typedef struct PDMIVMMDEVPORT
     
    17731759
    17741760} PDMIVMMDEVPORT;
     1761/** PDMIVMMDEVPORT interface ID. */
     1762#define PDMIVMMDEVPORT_IID                      "d7e52035-3b6c-422e-9215-2a75646a945d"
    17751763
    17761764/** @name Flags for PDMIVMMDEVPORT::pfnSetCredentials.
     
    17971785typedef struct PDMIVMMDEVCONNECTOR *PPDMIVMMDEVCONNECTOR;
    17981786/**
    1799  * VMMDev connector interface.
     1787 * VMMDev connector interface (up).
    18001788 * Pair with PDMIVMMDEVPORT.
    18011789 */
     
    19651953
    19661954} PDMIVMMDEVCONNECTOR;
     1955/** PDMIVMMDEVCONNECTOR interface ID. */
     1956#define PDMIVMMDEVCONNECTOR_IID                 "38b96194-ee83-489e-b92e-73ee28a29439"
    19671957
    19681958
     
    21112101typedef struct PDMIAUDIOCONNECTOR *PPDMIAUDIOCONNECTOR;
    21122102/**
    2113  * Audio connector interface.
     2103 * Audio connector interface (up).
     2104 * No interface pair yet.
    21142105 */
    21152106typedef struct PDMIAUDIOCONNECTOR
     
    21202111
    21212112} PDMIAUDIOCONNECTOR;
     2113/** PDMIAUDIOCONNECTOR interface ID. */
     2114#define PDMIAUDIOCONNECTOR_IID                  "85d52af5-b3aa-4b3e-b176-4b5ebfc52f47"
    21222115
    21232116
     
    21272120/** Pointer to a Audio Sniffer Device port interface. */
    21282121typedef struct PDMIAUDIOSNIFFERPORT *PPDMIAUDIOSNIFFERPORT;
    2129 
    2130 /**
    2131  * Audio Sniffer port interface.
     2122/**
     2123 * Audio Sniffer port interface (down).
     2124 * Pair with PDMIAUDIOSNIFFERCONNECTOR.
    21322125 */
    21332126typedef struct PDMIAUDIOSNIFFERPORT
    21342127{
    21352128    /**
    2136      * Enables or disables sniffing. If sniffing is being enabled also sets a flag
    2137      * whether the audio must be also left on the host.
     2129     * Enables or disables sniffing.
     2130     *
     2131     * If sniffing is being enabled also sets a flag whether the audio must be also
     2132     * left on the host.
    21382133     *
    21392134     * @returns VBox status code
     
    21472142
    21482143} PDMIAUDIOSNIFFERPORT;
     2144/** PDMIAUDIOSNIFFERPORT interface ID. */
     2145#define PDMIAUDIOSNIFFERPORT_IID                "83b95e02-68cb-470d-9dfc-25a0f8efe197"
     2146
    21492147
    21502148/** Pointer to a Audio Sniffer connector interface. */
     
    21522150
    21532151/**
    2154  * Audio Sniffer connector interface.
     2152 * Audio Sniffer connector interface (up).
    21552153 * Pair with PDMIAUDIOSNIFFERPORT.
    21562154 */
     
    21842182
    21852183} PDMIAUDIOSNIFFERCONNECTOR;
     2184/** PDMIAUDIOSNIFFERCONNECTOR - The Audio Sniffer Driver connector interface. */
     2185#define PDMIAUDIOSNIFFERCONNECTOR_IID           "433b64ab-e603-4933-bc97-8fe79b2bd0e0"
    21862186
    21872187
     
    22442244typedef const PDMLED *PCPDMLED;
    22452245
    2246 #define PDMLED_MAGIC ( 0x11335577 )
     2246/** Magic value for PDMLED::u32Magic. */
     2247#define PDMLED_MAGIC    UINT32_C(0x11335577)
    22472248
    22482249/** Pointer to an LED ports interface. */
    22492250typedef struct PDMILEDPORTS      *PPDMILEDPORTS;
    22502251/**
    2251  * Interface for exporting LEDs.
     2252 * Interface for exporting LEDs (down).
     2253 * Pair with PDMILEDCONNECTORS.
    22522254 */
    22532255typedef struct PDMILEDPORTS
     
    22642266
    22652267} PDMILEDPORTS;
     2268/** PDMILEDPORTS interface ID. */
     2269#define PDMILEDPORTS_IID                        "435e0cec-8549-4ca0-8c0d-98e52f1dc038"
    22662270
    22672271
     
    22692273typedef struct PDMILEDCONNECTORS *PPDMILEDCONNECTORS;
    22702274/**
    2271  * Interface for reading LEDs.
     2275 * Interface for reading LEDs (up).
     2276 * Pair with PDMILEDPORTS.
    22722277 */
    22732278typedef struct PDMILEDCONNECTORS
     
    22842289    DECLR3CALLBACKMEMBER(void, pfnUnitChanged,(PPDMILEDCONNECTORS pInterface, unsigned iLUN));
    22852290} PDMILEDCONNECTORS;
     2291/** PDMILEDCONNECTORS interface ID. */
     2292#define PDMILEDCONNECTORS_IID                   "8ed63568-82a7-4193-b57b-db8085ac4495"
    22862293
    22872294
     
    23032310/** Pointer to a HGCM port interface. */
    23042311typedef struct PDMIHGCMPORT *PPDMIHGCMPORT;
    2305 
    2306 /**
    2307  * HGCM port interface. Normally implemented by VMMDev.
     2312/**
     2313 * Host-Guest communication manager port interface (down). Normally implemented
     2314 * by VMMDev.
     2315 * Pair with PDMIHGCMCONNECTOR.
    23082316 */
    23092317typedef struct PDMIHGCMPORT
     
    23212329
    23222330} PDMIHGCMPORT;
    2323 
     2331/** PDMIHGCMPORT interface ID. */
     2332# define PDMIHGCMPORT_IID                       "e00a0cbf-b75a-45c3-87f4-41cddbc5ae0b"
     2333
     2334
     2335/** Pointer to a HGCM service location structure. */
     2336typedef struct HGCMSERVICELOCATION *PHGCMSERVICELOCATION;
    23242337
    23252338/** Pointer to a HGCM connector interface. */
    23262339typedef struct PDMIHGCMCONNECTOR *PPDMIHGCMCONNECTOR;
    2327 
    2328 /** Pointer to a HGCM service location structure. */
    2329 typedef struct HGCMSERVICELOCATION *PHGCMSERVICELOCATION;
    2330 
    2331 /**
    2332  * HGCM connector interface.
     2340/**
     2341 * The Host-Guest communication manager connector interface (up). Normally
     2342 * implemented by Main::VMMDevInterface.
    23332343 * Pair with PDMIHGCMPORT.
    23342344 */
     
    23742384
    23752385} PDMIHGCMCONNECTOR;
    2376 
    2377 #endif
     2386/** PDMIHGCMCONNECTOR interface ID. */
     2387# define PDMIHGCMCONNECTOR_IID                  "a1104758-c888-4437-8f2a-7bac17865b5c"
     2388
     2389#endif /* VBOX_WITH_HGCM */
    23782390
    23792391/**
     
    24222434/** Pointer to a SCSI port interface. */
    24232435typedef struct PDMISCSIPORT *PPDMISCSIPORT;
    2424 
    2425 /**
    2426  * SCSI port interface.
     2436/**
     2437 * SCSI command execution port interface (down).
    24272438 * Pair with PDMISCSICONNECTOR.
    24282439 */
     
    24412452
    24422453} PDMISCSIPORT;
     2454/** PDMISCSIPORT interface ID. */
     2455#define PDMISCSIPORT_IID                        "0f894add-714d-4a77-818e-a32fe3586ba4"
    24432456
    24442457
     
    24462459typedef struct PDMISCSICONNECTOR *PPDMISCSICONNECTOR;
    24472460/**
    2448  * SCSI connector interface.
     2461 * SCSI command execution connector interface (up).
    24492462 * Pair with PDMISCSIPORT.
    24502463 */
     
    24622475
    24632476} PDMISCSICONNECTOR;
     2477/** PDMISCSICONNECTOR interface ID. */
     2478#define PDMISCSICONNECTOR_IID                   "94465fbd-a2f2-447e-88c9-7366421bfbfe"
    24642479
    24652480
  • trunk/include/VBox/vusb.h

    r25728 r25984  
    352352
    353353/**
    354  * The VUSB RootHub port interface provided by the HCI.
     354 * The VUSB RootHub port interface provided by the HCI (down).
     355 * Pair with VUSBIROOTCONNECTOR
    355356 */
    356357typedef struct VUSBIROOTHUBPORT
     
    427428
    428429} VUSBIROOTHUBPORT;
     430/** VUSBIROOTHUBPORT interface ID. */
     431#define VUSBIROOTHUBPORT_IID                    "e38e2978-7aa2-4860-94b6-9ef4a066d8a0"
    429432
    430433
    431434/** Pointer to a VUSB RootHub connector interface. */
    432435typedef struct VUSBIROOTHUBCONNECTOR *PVUSBIROOTHUBCONNECTOR;
    433 
    434 /**
    435  * The VUSB RootHub connector interface provided by the VBox USB RootHub driver.
     436/**
     437 * The VUSB RootHub connector interface provided by the VBox USB RootHub driver
     438 * (up).
     439 * Pair with VUSBIROOTHUBPORT.
    436440 */
    437441typedef struct VUSBIROOTHUBCONNECTOR
     
    510514
    511515} VUSBIROOTHUBCONNECTOR;
     516/** VUSBIROOTHUBCONNECTOR interface ID. */
     517#define VUSBIROOTHUBCONNECTOR_IID               "d9a90c59-e3ff-4dff-9754-844557c3f7a0"
    512518
    513519
     
    554560/** Pointer to a Root Hub Configuration Interface. */
    555561typedef struct VUSBIRHCONFIG *PVUSBIRHCONFIG;
    556 
    557562/**
    558563 * Root Hub Configuration Interface (intended for MAIN).
     564 * No interface pair.
    559565 */
    560566typedef struct VUSBIRHCONFIG
     
    583589
    584590} VUSBIRHCONFIG;
     591/** VUSBIRHCONFIG interface ID. */
     592#define VUSBIRHCONFIG_IID                       "c354cd97-e85f-465e-bc12-b58798465f52"
     593
    585594
    586595#ifdef IN_RING3
     
    641650
    642651/**
    643  * USB Device Interface.
     652 * USB Device Interface (up).
     653 * No interface pair.
    644654 */
    645655typedef struct VUSBIDEVICE
     
    698708
    699709} VUSBIDEVICE;
     710/** VUSBIDEVICE interface ID. */
     711#define VUSBIDEVICE_IID                         "88732dd3-0ccd-4625-b040-48804ac7a217"
    700712
    701713
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette