#!/bin/sh
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#
#	【機能概要】	  : 共有メモリワーク領域の算出を行う
#						Table.def（共有メモリ定義ファイル）に記述されたファイル内容から、
#						共有メモリワーク領域に必要なサイズの算出を行う
#
#	【作成日】		  : 2021.04.26
#
#	【呼出形式】	  : GG_SHMSZSET.shl p1 p2
#					p1		Table.def（共有メモリ定義ファイル）のパス名とファイル名
#					p2		共有メモリID（ShmMng.def:共有メモリ管理ファイル）のID
#
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
#set -x

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# 変数定義部
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

. $GG_SHELLDIR/GG_DEF01.common.shl
GG_PLATFORM_PROC

NORMAL_CODE="0"
ERROR_CODE="100"
WARNING_CODE="40"

# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# 業務処理部
# _/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
# 引数チェック
if [ $# -ne 2 ] ; then
    $ECHO "引数チェックエラー ["$#"]"
    exit ${ERROR_CODE}
fi
JVM_OPTS=" -Xms32m -Xmx512m"
TARGET_SHMID_INFO=`GG_JAVA $JVM_OPTS com.galaxygoby.ShmSizeSet $1 $2`
rc=$?
if [ $rc -ne ${NORMAL_CODE} ] ; then
    # 異常終了
    $ECHO "ワーク領域算出エラー"
    exit ${ERROR_CODE}
fi
SHMG_ID=`$ECHO $TARGET_SHMID_INFO | $AWK '{printf("%s",$1)}'`
W_MAX_ROWS=`$ECHO $TARGET_SHMID_INFO | $AWK '{printf("%s",$2)}'`
W_MAX_COLUMNS=`$ECHO $TARGET_SHMID_INFO | $AWK '{printf("%s",$3)}'`
W_MAX_COLSIZE=`$ECHO $TARGET_SHMID_INFO | $AWK '{printf("%s",$4)}'`

# ワーク領域の増量分を再計算
MAX_ROWS=`expr $W_MAX_ROWS + 2`
MAX_COLUMNS=`expr $W_MAX_COLUMNS + 2`
MAX_COLSIZE=`expr $W_MAX_COLSIZE + 2`

$ECHO $SHMG_ID $MAX_ROWS $MAX_COLUMNS $MAX_COLSIZE
exit $rc
