The code for dup() is pretty standard. If you are using QNX 6 you should just use the default RM behavior. If you are using QNX 4 there are a number of available examples on how to implement this. If you can’t find any, reply and I will get one for you.
lseek() is typically only supported in resource managers controlling a file system. Unless you are writing a file system manager for a new file system, you don’t need to support it. Since QNX the company has always been rather tight lipped about QNX 6 file system code, you shouldn’t need this. Just return a -1 to indicate that it is unsupported in your RM>
That said a non-disk device resource manager could support the call in some idiosyncratic purpose, for example it could be used to position a servo. A better way to do this would be using devctl().