![]()  | 
![]()  | 
![]()  | 
![]()  | 
Obtain socket information from the devp-pccard server
#include <sys/pccard.h>
int pccard_info( pccard_t handle, 
                 int socket, 
                 struct _pccard_info* info, 
                 unsigned size );
libpccard
Use the -l pccard option to qcc to link against this library.
The pccard_info() function call retrieves socket setup information from the devp-pccard server. The information is returned in the _pccard_info structure.
The _pccard_info structure is defined in <pccard.h> as:
struct _pccard_info {
    int16_t             socket;         // Socket number (0 based)
    uint16_t            status;         // Card status (from socket services spec)
    uint32_t            flags;          // Flags (_PCCARD_FLAG_*)
    uint8_t             vcc;            // Current Vcc (in tenths of volts)
    uint8_t             vpp;            // Current Vpp (in tenths of volts)
    uint8_t             num_windows;    // Number of windows described below
    uint8_t             index;          // Index for CardBus devices
    uint16_t            manufacturer;   // Manufacturer ID from PCCARD
    uint16_t            card_type;      // Card Type from PCCARD
    uint16_t            device_id;      // CardBus device id
    uint16_t            vendor_id;      // CardBus vendor id
    uint16_t            busnum;         // PCI bus number
    uint16_t            devfuncnum;     // PCI device and function number
    struct _pccard_window {
        uint16_t                window;     // Window type (_PCCARD_WINDOW_*)
        uint16_t                flags;      // Window flags (_PCCARD_WINFLAG_*)
        mpid_t                  pid;        // Locking pid
        uint16_t                device;     // Device type (_PCCARD_DEV_*)
        uint16_t                dummy;
        uint32_t                dev_size;   // Size of memory device
        uint32_t                reserved3;
        union {
            struct _pccard_irq {
                uint16_t            flags;          // (_PCCARD_IRQFLAG_*)
                uint16_t            irq;
            }                       irq;
            struct _pccard_memio {
                uint32_t            base;           // Base address (in host address space)
                uint32_t            size;           // Size of window
                uint32_t            offset;         // offset of region from base of card
                uint16_t            flags;          // (_PCCARD_MEMIOFLAG_*)
                uint16_t            dummy2;
            }                       memio;
        } un;
    } window[_PCCARD_MAX_WINDOWS];
};
See pccard_arm().
| Safety: | |
|---|---|
| Cancellation point | Yes | 
| Interrupt handler | No | 
| Signal handler | Yes | 
| Thread | Yes | 
pccard_arm(), pccard_attach(), pccard_detach(), pccard_lock(), pccard_raw_read(), pccard_unlock()
![]()  | 
![]()  | 
![]()  | 
![]()  |