Systemwalker Operation Manager リファレンスマニュアル - UNIX/Windows(R)共通 -
目次 索引 前ページ次ページ

第17章 API情報> 17.1 カレンダAPI

17.1.1 カレンダ名一覧取得API

カレンダ名一覧取得API(Mp_ListCalendar)について説明します。

■記述形式

int Mp_ListCalendar (char *APL_name,
            CAL_LIST *calendar_list) ;


■機能説明

Mp_ListCalendar関数は、サーバに登録されているカレンダ名の一覧を取得します。

■パラメタの説明

APL_name

要求元アプリケーション名(64バイト以内)の格納領域アドレスを指定します。

終わりはNULLを指定してください。“Mp_”および“_CAL_”の文字列で始まる名前は、使用しないでください。

calendar_list

カレンダ名取得情報構造(CAL_LIST)のアドレスを指定します。

■復帰値

復帰値

意 味

0

正常終了しました。

-7

カレンダ一覧領域が不足です。

-10

カレンダサービスが動作していません。

-11

メモリ不足です。

■備考

カレンダ名格納域構造体を配列としてあらかじめ獲得します。そのアドレスと配列数(カレンダ名格納可能個数)をカレンダ名取得情報構造体に設定して、本関数を呼び出します。

カレンダ数が格納可能個数を超える場合は、カレンダ名取得情報構造体の“cal_num”に実際のカレンダ数が設定されるので、それ以上の配列数でカレンダ名格納域構造体を再獲得して、カレンダ名格納域構造体アドレス(pcal_name)およびカレンダ名格納可能個数(cal_area_num)を更新して、再び本関数を呼び出します。

■カレンダ名取得情報構造体(CAL_LIST)の形

 

typedef struct CAL_LIST_TAG { 
      short         cal_area_num ;       // カレンダ名格納可能個数
      short         cal_num ;            // 実際のカレンダ数
      CAL_NAME_AREA *pcal_name ;         // カレンダ名格納域構造体アド
                                         // レス
} CAL_LIST ;

◆cal_area_num

カレンダ名格納域の領域数(カレンダの数で指定する)を指定します。

◆cal_num

サーバに格納されている実際のカレンダ数(不足の場合も設定される)が設定されます。

◆pcal_name

カレンダ名格納域構造(CAL_NAME_AREA)のアドレスを指定します。

■カレンダ名格納域構造体(CAL_NAME_AREA)の形

typedef struct CAL_NAME_AREA_TAG {
        char   cal_name[25] ;            // カレンダ名格納域
} CAL_NAME_AREA ;

◆cal_name

カレンダ名が設定されます。

■プログラム例

カレンダ名一覧取得APIのプログラムを以下に示します。

#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>

#include <f3crhcap.h>

#define CAL_NUM 20

extern void put_calendar_list( CAL_LIST * ) ;

void main() {

        int ret ;
        CAL_LIST calendar_list ;

        /* 初期化 */
        memset( &calendar_list, 0x00, sizeof( CAL_LIST) ) ;

        /* カレンダ名領域の獲得 */
        calendar_list.pcal_name = (CAL_NAME_AREA *) malloc (sizeof (CAL_NAME_AREA) * CAL_NUM) ;

        if ( calendar_list.pcal_name == NULL ) {
                printf( "Lack of memory !!\n") ;
                exit ( 1 ) ;
        }

        /* カレンダ名領域数の設定 */
        calendar_list.cal_area_num = CAL_NUM ;

        /* カレンダ一覧の取得 */
        ret = Mp_ListCalendar( "Test Pro", &calendar_list) ;

        printf( "ret= %d  calendar num = %d\n", ret, calendar_list.cal_num ) ;

        /* カレンダ一覧取得後の処理 */
        if ( ret == 0 )
                put_calendar_list( &calendar_list ) ;

        /* カレンダ名領域の返却 */
        free( calendar_list.pcal_name ) ;

        exit ( 0 ) ;
}

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 1995-2007