Инициализация пути к временным файлам

Назначение

Сохранение в управляющей структуре LINDBCtrl пути к каталогу временных файлов СУБД ЛИНТЕР.

Синтаксис

 
L_LONG LINDBCtrlSetTmpPath(t_LINDBCtrl* LINDBCtrl, char* TmpPath);

Входные данные

Входными данными являются:

  1. инициализированная управляющая структура LINDBCtrl;

  2. путь к каталогу временных файлов. Допустимое значение: строка длиной не более 1024 байт (должна заканчиваться двоичным нулем).

Выходные данные

Выходными данными является управляющая структура LINDBCtrl.

В управляющей структуре будут возвращены:

Имя поля Значение
RetStatus Код завершения запроса к СУБД ЛИНТЕР
SysStatus 0
TmpPath Путь к каталогу временных файлов

Описание

Функция сохраняет в поле TmpPath управляющей структуры LINDBCtrl указатель на область памяти, содержащую копию аргумента TmpPath.

Каталог временных файлов используется при работе с БД в режиме «только чтение» (запуск ядра СУБД ЛИНТЕР с ключом /RO) (см. документ «СУБД ЛИНТЕР. Запуск и останов СУБД ЛИНТЕР в среде ОС Linux, Unix»).

Возвращаемые значения

Функция возвращает:

  • 0 – нормальное завершение;

  • -1 –путь к каталогу временных файлов не инициализирован.

Коды завершения

Код Описание
E_LINCTRL_NOINIT Управляющая структура LINDBCtrl не инициализирована
E_LINCTRL_NOMEM Невозможность выделения динамической памяти для поля TmpPath управляющей структуры
E_LINCTRL_INVARG Недопустимое значение аргумента TmpPath (NULL-значение)

Пример

#include < stdio.h >
#include < stdlib.h >
#include < string.h >
#include "linctrl.h"
#include "exlib.h"

void  PrintError(t_LINDBCtrl *LINDBCtrl);

void  main()
  {
  t_LINDBCtrl LINDBCtrl;
  CHAR  LinterPath[]="/usr/linter";
  CHAR  TmpPath[]="d:/linter/tmp";
  LONGINT Err;
  Err=LINDBCtrlInit(&LINDBCtrl,LinterPath);
  if (Err != NORMAL)
    PrintError(&LINDBCtrl);
  printf("Initialisation LINDBCtrl\n");
  Err= LINDBCtrlSetTmpPath(&LINDBCtrl,TmpPath);
  if (Err != NORMAL)
    PrintError(&LINDBCtrl);
  printf("Set TmpPath\n");
  printf("End Example\n");
  }