/** * @param null $UserSpaceName * @param null $USLib * @param int $InitSize * @param string $publicAuthority * @param string $InitValue * @param string $extendedAttribute * @param string $textDescription * @return bool */ public function CreateUserSpace($UserSpaceName = NULL, $USLib = NULL, $InitSize = 1024, $publicAuthority = '*ALL', $InitValue = ' ', $extendedAttribute = 'PF', $textDescription = 'ZS XML Service User Space') { // @todo check that 1 <= InitSize <= 16776704 // set defaults in case blank is passed in $InitSize = $InitSize ? $InitSize : 1024; $publicAuthority = $publicAuthority ? $publicAuthority : '*ALL'; $InitValue = $InitValue ? $InitValue : '00'; // single binary hex value X'00, most efficient initialization, according to documentation of QUSCRTUS $extendedAttribute = $extendedAttribute ? $extendedAttribute : 'PF'; $textDescription = $textDescription ? $textDescription : 'ZS XML Service User Space'; // format the user space name and library into 20 char format $this->setUSName($UserSpaceName, $USLib); // format extended attribute into proper format (left-aligned) $extAttrFormatted = sprintf("%-10s", $extendedAttribute); // format authority into proper format (left-aligned) $authFormatted = sprintf("%-10s", $publicAuthority); $params[] = Toolkit::AddParameterChar('in', 20, "USER SPACE NAME", 'userspacename', $this->getUSFullName()); $params[] = Toolkit::AddParameterChar('in', 10, "Extended Attribute", 'extendedattribute', $extAttrFormatted); $params[] = Toolkit::AddParameterInt32('in', "Initial Size", 'initialsize', $InitSize); $params[] = Toolkit::AddParameterBin('in', 1, "Initial Value: one byte to fill whole space with", 'initval', $InitValue); $params[] = Toolkit::AddParameterChar('in', 10, "Public Authority", 'authority', $authFormatted); $params[] = Toolkit::AddParameterChar('in', 50, "Description", 'description', $textDescription); $params[] = Toolkit::AddParameterChar('in', 10, "Replace US", 'replaceuserspace', "*NO "); $params[] = Toolkit::AddErrorDataStruct(); // $params = $this->DefineUserSpaceParameters($InitSize, $Auth, $InitChar); $retPgmArr = $this->ToolkitSrvObj->PgmCall('QUSCRTUS', 'QSYS', $params); if ($this->ToolkitSrvObj->verify_CPFError($retPgmArr, "Create user space failed.")) { return false; } return true; //created }