MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/bin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/bin/gennttab

:
#
#
# gennttab generates ntcontab.o
# usage: gennttab [ -n protocol-name  ... ]
#    -n: do not include protocol adapters with given names
#
# generates .s file for SunOS 5, AIXRIOS, SVR4_386, NCR 
#           .c file for all others
#
if [ "$ORACLE_TRACE" ]; then
  set -x
fi
UNAME=/bin/uname
PLATFORM=`$UNAME`
if [ $PLATFORM = "SunOS" ] ; then
 NM=/usr/ccs/bin/nm
 SED=/usr/bin/sed
 AWK=/usr/bin/awk
 GREP=/usr/bin/grep
 EXPR=/usr/bin/expr
 LN=/usr/bin/ln
 ECHO=/usr/bin/echo
elif [ $PLATFORM = "Linux" ]; then
 NM=/usr/bin/nm
 SED=/bin/sed
 AWK=/usr/bin/awk
 GREP=/bin/grep
 EXPR=/usr/bin/expr
 LN=/bin/ln
 ECHO=/bin/echo
else
 NM=/usr/bin/nm
 SED=/usr/bin/sed
 AWK=/usr/bin/awk
 GREP=/usr/bin/grep
 EXPR=/usr/bin/expr
 LN=/usr/bin/ln
 ECHO=/usr/bin/echo
fi
VER=18
##################################
NMOPTS=
##################################
if [ "x$1" = "x-64" ] ; then
	LIB=lib64
else
	LIB=lib
fi
LIBPATH=${ORACLE_HOME}/${LIB}
LIBNET="libn${VER}"
LIBNETPATH=${LIBPATH}/${LIBNET}
TRANSPORTS="US TCP BEQ TCPS DCE NMP RAW SDP EXADIRECT WSS WS"
TtoINI="US:ntusini TCP:nttini BEQ:ntpini TCPS:ntzini DCE:ntodrini NMP:ntnini RAW:ntrini SDP:nttsdpini EXADIRECT:ntmqini WSS:ntwssini WS:ntwsini"
TtoBAS="US:ntus TCP:ntt BEQ:ntp TCPS:ntz DCE:ntodr NMP:ntn RAW:ntr SDP:ntt EXADIRECT:ntmq WSS:ntwss WS:ntwss"
TtoNAM="US:IPC TCP:TCP/IP BEQ:BEQueath TCPS:SSL DCE:DCE NMP:NamedPipes RAW:RAW SDP:SDP EXADIRECT:EXADIRECT WSS:WEBSOCKSEC WS:WEBSOCK"
TtoLIB="US:us TCP:tcp BEQ:beq TCPS:tcps DCE:dce NMP:nmp RAW:raw SDP:tcp EXADIRECT:tmq WSS:twss WS:twss"
for T in $TRANSPORTS; do
# Default is to use all available drivers
  eval NTUSE$T="true"
  LIB=`$ECHO ${TtoLIB}  | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
  INI=`$ECHO ${TtoINI}  | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
  BAS=`$ECHO ${TtoBAS} | $SED 's/ /\\
/g' | $GREP "^${T}:" | $AWK -F: '{print $2}'`
  if [ "` $NM $NMOPTS ${LIBPATH}/libn${LIB}${VER}.* 2> /dev/null |$GREP ${INI}  2> /dev/null`" = "" ]; then
    eval NTUSE${T}="false"
  fi
done
#
# Now begins the big divide between SunOS 5 and the rest of the world...
#
#
# Now begins the big divide between AIXRIOS and the rest of the world...
#
USE_AS=${USE_AS:=true}
if [ "$USE_AS" = "true" ] ; then
true
pointer=long
pointer=quad
emit_string() {
  $ECHO "$1:  .string \"$2\""
}
saved_phase=0
emit_ntdrv_entry() {
  if [ $phase != $saved_phase ] ; then
    entry=0
    saved_phase=$phase
  fi
  case "${phase}${1}" in
    1true ) 
      emit_string ".L${entry}_1" "$2" 
      emit_string ".L${entry}_2" "$4"
      emit_string ".L${entry}_3" "$5"
      ;;
    
    2true )
      $ECHO "
        .${pointer} .L${entry}_1
        .${pointer} $3
        .${pointer} .L${entry}_2
        .${pointer} .L${entry}_3
        .Lnumber_of_entries=.Lnumber_of_entries+1
"
      ;;
  esac
  entry=$((entry + 1))
}
emit_prologue() {
  case "$phase" in
    1 )
      $ECHO '/*
**
** This file is GENERATED by gennttab for Linux x86_64
**
*/
        .file "ntcontab.c"
        .section .rodata.str1.4, "aMS",@progbits,1
        .align 4
        .Lnumber_of_entries=0
'
      ;;
    2 )
      $ECHO '      
        .section .data1, "wa", @progbits
        .align 8
        .globl ntcontab
ntcontab:
'
      ;;
  esac;
}
emit_epilogue() {
  case "$phase" in
    2 )
      $ECHO "
        .${pointer} 0, 0, 0, 0"
      $ECHO '
        .type ntcontab,@object
        .size ntcontab,.-ntcontab
        
        .section .rodata, "a"
        .align 4
        .globl ntconent
ntconent:
        .long   .Lnumber_of_entries
        .type   ntconent,@object
        .size   ntconent,.-ntconent
        .section .note.GNU-stack,"",@progbits
        .end
'
      ;;
  esac;
} 
for phase in 1 2 ; do
  emit_prologue 
  emit_ntdrv_entry "$NTUSEDCE"   "dce"   ntodrini  "_NTODRINI"  "ntodr"
  emit_ntdrv_entry "$NTUSETCP"   "tcp"   nttini    "NTTINI"     "ntt"
  emit_ntdrv_entry "$NTUSETCPS"  "tcps"  ntzini    "NTZINI"     "ntcps"
  emit_ntdrv_entry "$NTUSESDP"   "sdp"   nttsdpini "NTTSDPINI"  "ntt"
  emit_ntdrv_entry "true"        "raw"   ntrini    "_NTRINI"    "ntr"
  emit_ntdrv_entry "true"        "beq"   ntpini    "_NTPINI"    "ntp"
  emit_ntdrv_entry "true"        "ipc"   ntusini   "_NTUSINI"   "ntus"
  emit_ntdrv_entry "$NTUSENMP"   "nmp"   ntnini    "_NTNINI"    "ntn"
  emit_ntdrv_entry "$NTUSEOSI"   "osi4"  snto4in   "_snto4in"   "nto4"
  emit_ntdrv_entry "$NTUSELU62"  "lu62"  ntlini    "_ntlini"    "ntl"
  emit_ntdrv_entry "$NTUSEASYNC" "async" ntasgini  "_ntasgini"  "ntas"
  emit_ntdrv_entry "$NTUSEEXADIRECT" "exadirect" ntmqini  "_NTMQINI"  "ntmq"
  emit_ntdrv_entry "$NTUSEWSS" "wss" ntwssini  "_NTWSSINI"  "ntwss"
  emit_ntdrv_entry "$NTUSEWS" "ws" ntwsini  "_NTWSINI"  "ntwss"
  emit_epilogue 
done
else  # USE_AS
$ECHO '/*'
$ECHO '**'
$ECHO '** This file is GENERATED by gennttab'
$ECHO '**'
$ECHO '*/
'
$ECHO "#include <sys/types.h>
"
# the following is taken from ntdrv.h
$ECHO '/* NT driver descriptor */
struct ntdrv
{
    char   *ntdrvdes;                               /* NT driver designator */
    void  (*ntdrvini)(            /* NTCONNECT - NT driver init function */
             /*_ ptr_t gbl, struct ntpa *pactx _*/ );
    char   *ntdrvsini;                                 /* Name of INIT func */
    char   *ntdrvmod;                                   /* NT driver module */
};
typedef struct ntdrv ntdrv;
'
if [ "${NTUSEDCE}" = "true" ]
then
$ECHO "void ntodrini();"
fi
if [ "${NTUSETCP}" = "true" ]
then
$ECHO "void nttini();"
fi
if [ "${NTUSETCPS}" = "true" ]; then
$ECHO "void ntzini();"
fi
if [ "${NTUSESDP}" = "true" ]; then
$ECHO "void nttsdpini();"
fi
$ECHO "void ntrini();"
$ECHO "void ntpini();"
$ECHO "void ntusini();"
if [ "${NTUSENMP}" = "true" ]
then
$ECHO "void ntnini();"
fi
if [ "${NTUSEEXADIRECT}" = "true" ]
then
$ECHO "void ntmqini();"
fi
if [ "${NTUSEWSS}" = "true" ]
then
$ECHO "void ntwssini();"
fi
if [ "${NTUSEWSS}" = "true" ]
then
$ECHO "void ntwsini();"
fi
# the protocol table
$ECHO "ntdrv ntcontab[] = {"
#Add the DCE adapter
if [ "${NTUSEDCE}" = "true" ]
then
$ECHO '
 { "dce", ntodrini, "_NTODRINI", "ntodr" },
'
fi
# Add the TCP adapter
if [ "${NTUSETCP}" = "true" ]
then
$ECHO '
 { "tcp", nttini, "NTTINI", "ntt" },
'
fi
# Add the SSL adapter
if [ "${NTUSETCPS}" = "true" ]; then
$ECHO '
 { "tcps", ntzini, "NTZINI", "ntcps" },
'
fi
# Add the SDP adapter
if [ "${NTUSESDP}" = "true" ]; then
$ECHO '
 { "sdp", nttsdpini, "NTTSDPINI", "ntt" },
'
fi
# RAW Bequeath and IPC PAs always included
$ECHO '
 { "raw", ntrini, "_NTRINI", "ntr" },
'
$ECHO '
{ "beq", ntpini, "_NTPINI", "ntp" },
'
$ECHO '
{ "ipc", ntusini, "_NTUSINI", "ntus" },
'
# Add the Named pipes adapter
if [ "${NTUSENMP}" = "true" ]
then
$ECHO '
{ "nmp", ntnini, "_NTNINI", "ntn" },
'
fi
# Add the OSI adapter
if [ "${NTUSEOSI}" = "true" ]
then
$ECHO '
{  "osi4", snto4in, "_snto4in",  "nto4" },
'
fi
# Add the LU6.2 adapter
if [ "${NTUSELU62}" = "true" ]
then
$ECHO '
{  "lu62", ntlini, "_ntlini",  "ntl" },
'
fi
# Add the async adapter
if [ "${NTUSEASYNC}" = "true" ]
then
$ECHO '
{  "async", ntasgini, "_ntasgini",  "ntas" },
'
fi
# Add the exadirect adapter
if [ "${NTUSEEXADIRECT}" = "true" ]
then
$ECHO '
{  "exadirect", ntmqini, "_NTMQINI",  "ntmq" },
'
fi
# Add the WebSocketSecure adapter
if [ "${NTUSEWSS}" = "true" ]
then
$ECHO '
 { "wss", ntwssini, "_NTWSSINI", "ntwss" },
'
fi
# Add the WebSocket adapter
if [ "${NTUSEWS}" = "true" ]
then
$ECHO '
 { "ws", ntwsini, "_NTWSINI", "ntwss" },
'
fi
$ECHO " { 0, 0, 0, 0}};"
$ECHO '/* no. of connect table entries */
'
$ECHO "const int ntconent = sizeof(ntcontab)/sizeof(ntcontab[0]) - 1;"
fi # USE_AS

OHA YOOOO