some functions missing in QNX6

I have to port a library from QNX2 to QNX6, and it has some QNX2
functions that are not available on QNX6.

The functions are:

  1. signal_hw_port
  2. set_int_mask
  3. set_int_vec
  4. name_attach
  5. name_locate
  6. name_detach
  7. detach
    :sunglasses: attach_port
  8. create_seg

I think that name_attach, name_locate, and name_detach are the old
“qnx_name_attach”, “qnx_name_locate” and “qnx_name_detach” but i would like
if anyone could confirm that.
How can be replaced the functions listed above.
Thanks in advance.
Javier

Javier Barreiro <jbarreiro@vai-ingdesi.com> wrote:

I have to port a library from QNX2 to QNX6, and it has some QNX2
functions that are not available on QNX6.

The functions are:

  1. signal_hw_port

I don’t find signal_hw_port in my docs, but do have:
signal( port ) – best replaced by pulses.

  1. set_int_mask
  2. set_int_vec

Look at the Interrupt* functions, in particular:

InterruptAttach() and InterruptMask() – but the architecture may be
a bit different.

  1. name_attach
  2. name_locate
  3. name_detach

Look at name_open() and name_attach().

  1. detach
    :sunglasses: > attach_port

Again, look at pulses – I’d read through the Architecture manual
section on IPC. You’ll need to look at channels, connections, and
pulses in particular. Channels are where you get messages/notification,
connections are where you send them (connect to a channel) and
pulses are the non-blocking notification mechanism that is the
closest replacement for signallling a port under QNX2.

  1. create_seg

Segments no longer exist/are supported. These were often used for
hardware access and/or DMA memory. Under QNX 6, you’ll want the
mmap(), mmap_device_memory(), and/or mmap64() routines.


I think that name_attach, name_locate, and name_detach are the old
“qnx_name_attach”, “qnx_name_locate” and “qnx_name_detach” but i would like
if anyone could confirm that.

Yes, and then became name_open(), name_attach(), name_detach() in QNX6.

-David

QNX Training Services
http://www.qnx.com/support/training/
Please followup in this newsgroup if you have further questions.