home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 5 / 05.iso / a / a524 / 7.ddi / genosntab < prev    next >
Encoding:
Text File  |  1991-09-22  |  6.8 KB  |  252 lines

  1. :
  2. #!/bin/sh
  3. #
  4. # $Header: genosntab.sh,v 6.14 89/08/02 08:17:07 csimmons Exp $
  5. #
  6. # Genosntab generates osntab.c
  7. #   usage: genosntab [-n prefix-letter ... ]
  8. #      -c: Force utilization of a client directory structure.
  9. #       Provided for installation scripts.
  10. #      -n: do not include drivers with given prefix letters
  11. #     e.g. "genosntab -n T A" excludes TCP/IP and ASYNC drivers
  12. #
  13. #   List of valid driver prefixes:  
  14. PREFIXES='A|D|F|P|T|M|N|TT|STAR|APPC|NTT'
  15. USAGE="usage: $0 [-c -n prefix-letter ... ]"
  16.  
  17. CHECK='[ "$NSEEN" = "" ] && { echo $USAGE; exit 1; }'
  18.  
  19. CLIENT="F"
  20.  
  21. #  Default is to use all available drivers
  22. for lett in `echo $PREFIXES | sed 's/|/ /g'`
  23. do
  24.     eval USE_$lett=true
  25. done
  26.  
  27. for arg in $*        # check for drivers to exclude
  28. do
  29.     case $arg in
  30.  
  31.     -n)    NSEEN=1
  32.         ;;    
  33.  
  34.     A|D|F|P|T|M|N|TT|STAR|APPC|NTT|a|d|f|p|t|m|n|tt|star|appc|ntt) 
  35.         eval "$CHECK"                # must have -n
  36.         lett=`echo $arg | tr [a-z] [A-Z]`    # uppercase arg
  37.         eval USE_$lett=no         
  38.         ;;
  39.  
  40.     -c)     # Force install scripts to assume client site. 
  41.         CLIENT="T"
  42.         ;;
  43.  
  44.     *)    echo $USAGE; exit 1        ;;
  45.     esac
  46. done
  47.  
  48. if [ "$SRCHOME" != ""  -a  "$CLIENT" != "T" ] ; then
  49.     ASYNCLIB=$SRCHOME/net/async/libasync.a
  50.     DNTLIB=$SRCHOME/net/dnt/libdnt.a
  51.     MBXLIB=$SRCHOME/net/mbx/libmbx.a
  52.     NETEXLIB=$SRCHOME/net/netex/libnetex.a
  53.     TCPLIB=$SRCHOME/net/tcp/libtcp.a
  54.     TCPTLILIB=$SRCHOME/net/tli/tcptli/libtcptli.a
  55.     STARLIB=$SRCHOME/net/tli/star/libstar.a
  56.     APPCLIB=$SRCHOME/net/lu62/liblu62.a
  57.     SQLNETLIB=$SRCHOME/net/utt/libutt.a
  58.     NTTLIB=$SRCHOME/net/ntt/libntt.a
  59. else
  60.     nm $ORACLE_HOME/rdbms/lib/libsqlnet.a > /tmp/sqlnet$$ 2> /dev/null
  61.     if [ "`grep osnasy /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  62.         USE_A="false"
  63.     fi
  64.     if [ "`grep osndnt /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  65.         USE_D="false"
  66.     fi
  67.     if [ "`grep osnmbx /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  68.         USE_M="false"
  69.     fi
  70.     if [ "`grep osnnetex /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  71.         USE_N="false"
  72.     fi
  73.     if [ "`grep osnttt /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  74.         USE_T="false"
  75.     fi
  76.     if [ "`grep osntlitcp /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  77.         USE_TT="false"
  78.     fi
  79.     if [ "`grep osntlistar /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  80.         USE_STAR="false"
  81.     fi
  82.     if [ "`grep osnl62 /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  83.         USE_APPC="false"
  84.     fi
  85.     if [ "`grep ntt_connect /tmp/sqlnet$$ 2> /dev/null`" = "" ] ; then
  86.         USE_NTT="false"
  87.     fi
  88.     rm /tmp/sqlnet$$ 2> /dev/null
  89.     SQLNETLIB=$ORACLE_HOME/rdbms/lib/libsqlnet.a
  90.     ASYNCLIB=$ORACLE_HOME/async/lib/libasync.a
  91.     DNTLIB=$ORACLE_HOME/dnt/lib/libdnt.a
  92.     MBXLIB=$ORACLE_HOME/mbx/lib/libmbx.a
  93.     NETEXLIB=$ORACLE_HOME/netex/lib/libnetex.a
  94.     TCPLIB=$ORACLE_HOME/tcp/lib/libtcp.a
  95.     TCPTLILIB=$ORACLE_HOME/tcptli/lib/libtcptli.a
  96.     STARLIB=$ORACLE_HOME/star/lib/libstar.a
  97.     APPCLIB=$ORACLE_HOME/lu62/lib/liblu62.a
  98.     NTTLIB=$ORACLE_HOME/ntt/lib/libntt.a
  99. fi
  100.  
  101. NO_DRIVERS="true"
  102.  
  103. echo "\
  104.  
  105. /*
  106. **
  107. ** This File Is GENERATED By genosntab.
  108. **
  109. */
  110. "
  111.     
  112. echo "extern int   osnsgl();                      /* single    task private */"
  113.  
  114. if [ -f $ASYNCLIB -a "$USE_A" = "true" ] 
  115. then
  116. echo "extern int   osnasy();                         /* Async driver */"
  117. NO_DRIVERS="false"
  118. fi
  119. if [ -f $DNTLIB -a "$USE_D" = "true" ]
  120. then
  121. echo "extern int   osndnt();                            /* DECNET two task */"
  122. NO_DRIVERS="false"
  123. fi
  124. if [ -f $MBXLIB -a "$USE_M" = "true" ]
  125. then
  126. echo "extern int   osnmbx();                               /* MBX two task */"
  127. NO_DRIVERS="false"
  128. fi
  129. if [ -f $NETEXLIB -a "$USE_N" = "true" ]
  130. then
  131. echo "extern int   osnnetex();                     /* NETEX two task */"
  132. NO_DRIVERS="false"
  133. fi
  134. if [ -f $TCPLIB -a "$USE_T" = "true" ]
  135. then
  136. echo "extern int   osnttt();                         /* TCP two task */"
  137. NO_DRIVERS="false"
  138. fi
  139. if [ -f $TCPTLILIB -a "$USE_TT" = "true" ]
  140. then
  141. echo "extern int   osntlitcp();                                 /* TCPTLI two task */"
  142. NO_DRIVERS="false"
  143. fi
  144. if [ -f $STARLIB -a "$USE_STAR" = "true" ]
  145. then
  146. echo "extern int   osntlistar();                               /* STARLAN two task */"
  147. NO_DRIVERS="false"
  148. fi
  149. if [ -f $APPCLIB -a "$USE_APPC" = "true" ]
  150. then
  151. echo "extern int   osnl62();                         /* LU 6.2 two task */"
  152. NO_DRIVERS="false"
  153. fi
  154. if [ -f $NTTLIB -a "$USE_NTT" = "true" ]
  155. then
  156. echo "extern int   ntt_connect();                       /* NCube two task */"
  157. NO_DRIVERS="false"
  158. fi
  159. if [ -f $SQLNETLIB ]
  160. then
  161.   if [ "$USE_P" = "true" ]
  162.   then
  163.     echo "extern int   osnptt();                        /* pipe two task */"
  164.     NO_DRIVERS="false"
  165.   fi
  166.   if [ "$USE_F" = "true" ]
  167.   then
  168.     echo "extern int   osnftt();                        /* Fast two task */"
  169.     NO_DRIVERS="false"
  170.   fi
  171. fi
  172.  
  173. echo "struct ifcdef"
  174. echo "{"
  175.   echo "int     (*ifcfun)();                     /* connect function */"
  176.   echo "char *   ifcfnm;                           /* fixed    name */"
  177.   echo "char *   ifcprf;        /* interface prefix    w/ delimeter (P:,S:,TT:,...) */"
  178.   echo "char *   ifcdsc;           /* interface description    (private,shared,...) */"
  179.   echo "char *   ifcdfl;               /* char * to pass if none from attach */"
  180.   echo "char *   ifcprm;         /* add'l parameter char * for connect calls */"
  181. echo "};"
  182. echo "typedef    struct ifcdef    ifcdef;"
  183. echo ""
  184. echo "ifcdef osntab[] ="
  185. echo "{"
  186. echo "/* FUNC    NAME         PREFIX    DESCRIPTION    DFLT          PARAM */"
  187. echo '# if defined(SYS_SGL)'
  188. echo ' { osnsgl, "SINGLE_TASK:",      "S:",   "Single task",  "",             ""},'
  189. echo '# else'
  190. if [ -f $SQLNETLIB ]
  191. then
  192.   if [ "$USE_P" = "true" ]
  193.   then
  194.     echo ' { osnptt, "PIPE_TWO_TASK:",    "P:",    "Pipe Two-Task","",        ""},'
  195.   fi
  196.   if [ "$USE_F" = "true" ]
  197.   then
  198.     echo ' { osnftt, "FAST_TWO_TASK:",    "F:",    "Fast Two-Task","",        ""},'
  199.   fi
  200. fi
  201. if [ -f $ASYNCLIB -a "$USE_A" = "true" ]
  202. then
  203. echo ' { osnasy, "ASYNC:",            "A:",   "Async link",   "",             ""},'
  204. fi
  205. if [ -f $DNTLIB -a "$USE_D" = "true" ]
  206. then
  207. echo ' { osndnt, "DECNET_TWO_TASK:",    "D:",    "Decnet Two-Task","",        ""}, '
  208. fi
  209. if [ -f $MBXLIB -a "$USE_M" = "true" ]
  210. then
  211. echo ' { osnmbx, "MBX_TWO_TASK:",    "M:",    "MBX Two-Task","",    ""}, '
  212. fi
  213. if [ -f $NETEXLIB -a "$USE_N" = "true" ]
  214. then
  215. echo ' { osnntx, "NETEX_TWO_TASK:",    "N:",    "NETEX Two-Task","sqlnet",    ""}, '
  216. fi
  217. if [ -f $TCPLIB -a "$USE_T" = "true" ]
  218. then
  219. echo ' { osnttt, "TCP_TWO_TASK:",    "T:",    "TCP Two-Task","sqlnet",    ""}, '
  220. fi
  221. if [ -f $TCPTLILIB -a "$USE_TT" = "true" ]
  222. then
  223.     echo ' { osntlitcp, "TCPTLI_TWO_TASK:", "TT:", "TCPTLI Two-Task","sqlnet",    ""}, '
  224. fi
  225. if [ -f $STARLIB -a "$USE_STAR" = "true" ]
  226. then
  227.     echo ' { osntlistar, "STAR_TWO_TASK:", "STAR:", "Starlan Two-Task","sqlnet",    ""}, '
  228. fi
  229. if [ -f $APPCLIB -a "$USE_APPC" = "true" ]
  230. then
  231. echo ' { osnl62, "LU62_TWO_TASK:",    "APPC:",    "LU62 Two-Task","sqlnet",    ""}, '
  232. fi
  233. if [ -f $NTTLIB -a "$USE_NTT" = "true" ]
  234. then
  235. echo ' { ntt_connect, "NCUBE_TWO_TASK:",    "NTT:",    "NCube Two-Task","",    ""}, '
  236. fi
  237. echo '# endif'
  238. echo '{ 0,0,0,0,0,0 }'
  239. echo '};'
  240.  
  241. echo 'ifcdef *osndfn = &osntab[0];      /* without host: default is single */'
  242. echo 'ifcdef *osndfh = &osntab[0];     /* with host: default is Two Task   */'
  243.  
  244. if [ $NO_DRIVERS = "true" ]; then
  245.     echo
  246.     echo "   YOU HAVE NOT INCLUDED ANY DRIVERS IN osntab[], CHECK $SQLNETLIB"
  247.     exit 1
  248. else
  249.     exit 0
  250. fi
  251.