isaexec(3C)




NAME

     isaexec - invoke isa-specific executable


SYNOPSIS

     #include <unistd.h>

     int isaexec(const  char  *path,  char  *const  argv[],  char
     *const envp[]);


DESCRIPTION

     The isaexec() function takes the path specified as path  and
     breaks  it  into  directory  and  file  name  components. It
     enquires from the  running  system  the  list  of  supported
     instruction  set architectures; see isalist(5). The function
     traverses the list for an executable file in named subdirec-
     tories  of  the  original  directory.   When  such a file is
     located, execve() is invoked with  argv[]  and  envp[].  See
     exec (2).


RETURN VALUES

     If no file  is  located,  isaexec()  returns  ENOENT.  Other
     return values are the same as for execve().


EXAMPLES

     Example 1: Example of isaexec() function.

     On a system whose isalist is

     sparcv7 sparc

     the program

     int
     main(int argc, char *argv[], char *envp[])
     {
             return (isaexec("/bin/thing", argv, envp));
     }

     will   look   first   for   an   executable    file    named
     /bin/sparcv7/thing,   then  for  an  executable  file  named
     bin/sparc/thing. It will invoke execve() on the  first  exe-
     cutable file it finds named thing.

     On that same system, a program called /u/bin/tofu can  cause
     either   /u/bin/sparcv7/tofu   or  /u/bin/sparc/tofu  to  be
     invoked using the following code:

     int
     main(int argc, char *argv[], char *envp[])
     {
                   return (isaexec(getexecname(), argv, envp));
     }


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | MT-Level                    | Safe                        |
    |_____________________________|_____________________________|
    | Interface Stability         | Stable                      |
    |_____________________________|_____________________________|


SEE ALSO

     exec(2), getexecname(3C), attributes(5), isalist(5)


Man(1) output converted with man2html