Operating System - HP-UX
1831496 Members
3513 Online
110025 Solutions
New Discussion

Where is the header file for MOD_WSIO_PCI?

 
SOLVED
Go to solution

Where is the header file for MOD_WSIO_PCI?

hi there,

I am writing a DLKM interface driver for a PCI card.

The compiler is complaining that it doesn't know the undefined symbol 'MOD_WSIO_PCI' in the call mod_wsio_attach_list_add(MOD_WSIO_PCI,...). I included the , , and a few other important header files. I grepped for MOD_WSIO_PCI in my system include and /usr/conf/h directory, but was not able to locate the file that has MOD_WSIO_PCI define.

I have a HP Visualize Workstation B2000, with HPUX 11.0 installed. swlist tells me that I have HP C/ANSI C Developer's Bundle (B
3899BA).

Where is MOD_WSIO_PCI defined? Is there a patch that I need to install?

I appreciate any help in resolving this problem.

Kym

4 REPLIES 4
Jean-Louis Phelix
Honored Contributor
Solution

Re: Where is the header file for MOD_WSIO_PCI?

Hi,

I found this rcen. I think that for the moment you have to write your own #define ...

Regards,

Jean-Louis.

PROBLEM
I am developing DLKM (Dynamically Loadable Kernel Modules) at HP_UX 11.0.
The following manifest constants (for example, MOD_WSIO_*), function
prototypes, and structures are missing from HP-UX 11.0:

MOD_WSIO_CORE
MOD_WSIO_EISA
MOD_WSIO_PCI

The HP-UX 11.0 Device Driver Guide, Chapter 11, page 299 documents the
mod_wsio_attach_list_*** functions and arguments, but does not specify
the values for the constants.

What are the values for these constants?

CONFIGURATION
Operating System - HP-UX
Version - 11.0
Hardware System - PA9000
Series - V2500
Subsystem - DLKM (Dynamically Loadable Kernel Modules)


RESOLUTION

These are the missing values:

#define MOD_WSIO_CORE 0x1
#define MOD_WSIO_EISA 0x2
#define MOD_WSIO_PCI 0x4
It works for me (© Bill McNAMARA ...)
Robert-Jan Goossens
Honored Contributor

Re: Where is the header file for MOD_WSIO_PCI?

hi Kym,

/* dlkm_help.h -- header info from wsio_private.h and wsio_dlkm.h */

#if 1
typedef struct nodeinfo {
struct isc_table_type *isc;
int dummy1,dummy2;
} dlkm_node_t;
#else
#include "./wsio_private.h"
#define dlkm_node_t wsio_node_cdio_priv_t
#endif
extern dlkm_node_t *io_get_private __((dlkm_node_t *node));
#define MOD_WSIO_CORE 0x1
#define MOD_WSIO_EISA 0x2
#define MOD_WSIO_PCI 0x4


Robert-Jan

Re: Where is the header file for MOD_WSIO_PCI?

Jean-Louis: Thanks! It's odd that I have to define these. Do you know if there is a driver development kit that include additional header files that is not part of HPUX 11.0 distribution?

By the way, I added the #define, and now getting another error that the system doesn't know the type "wsio_node_cdio_priv_t". I am basically following the DLKM example from "Developing Dynamically Loadable Kernel Modules Issue 1.0 HPUX 11.0". This problem is not toooo big of a deal since I can call wsio_get_isc() to get the isc pointer that I need. Anyways, it's strange that using the example provided would take soooo much to time to get it up and running :(.

-----------------------------------------
Hey Robert-Jan: Thanks (again)! Where is dlkm_help.h, wsio_private.h? I don't have these files on my system. Is there a bundle that I need to install/missing?

Kym


Jean-Louis Phelix
Honored Contributor

Re: Where is the header file for MOD_WSIO_PCI?

Hi,

I am very sorry but I think that there is no fix in 11.00 (only a bug). If you have a look at /usr/include/sys/wsio.h on a 11.11 system, you will find :

/* The following MOD_WSIO_* were originally defined in wsio_dlkm.h.
* But that file is not shipped, and third party dlkm driver will
* need this defines. Hence they moved here */
#define MOD_WSIO_CORE 0x1
#define MOD_WSIO_EISA 0x2
#define MOD_WSIO_PCI 0x4

But concerning wsio_private.h for example, don't look for it ... It's not shipped with hp-ux. I can only give you wsio_node_cdio_priv_t definition :

typedef struct {
void *isc;
void *mkminor;
int build_mod;
} wsio_node_cdio_priv_t;

Regards
It works for me (© Bill McNAMARA ...)