TimeManager
|
crontab形式で指定した開始時刻を取得するコマンドに関する実装。 More...
#include "../include/crontab.h"
#include <assert.h>
#include <limits.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include "../include/common.h"
#include "../include/crontab_cron.h"
Macros | |
#define | MAIN_PROGRAM |
#define | EXIT_NOT_FOUND 3 |
Functions | |
static void | print_usage () |
ヘルプをstderrに出力する。 | |
static int | attack (time_t *result, struct _entry *e, time_t start, unsigned int range) |
entry構造体を解析して、直近の時刻を取得する。 More... | |
static int | output_input () |
stdinの内容をstdoutに受け流す。 More... | |
static void | output_schedule (struct schedule *in, time_t start) |
inにstartを反映したスケジュールをstdoutに出力する。 More... | |
static int | parse_arguments (int argc, char **argv, char **arg, unsigned int *range_backward, unsigned int *range_forward, int *verbose) |
コマンドライン引数を解析する。 More... | |
static entry * | parse_string (FILE *fp) |
ファイルに書き込まれたcrontabフォーマットの文字列を解析してentry構造体を作成する。 More... | |
static int | process (time_t *result, const char *str, unsigned int range_backward, unsigned int range_forward) |
crontabフォーマットの文字列を解析して、直近の時刻を取得する。 More... | |
static int | read_schedule (struct schedule *sched) |
stdinからスケジュールを読み込む。 More... | |
int | crontab (int argc, char *argv[]) |
crontab形式で指定した開始時刻を取得する。 More... | |
Variables | |
static int | verbose = 0 |
crontab形式で指定した開始時刻を取得するコマンドに関する実装。
#define EXIT_NOT_FOUND 3 |
空き時間が見つからない場合の戻り値
|
static |
entry構造体を解析して、直近の時刻を取得する。
[out] | result | 取得した時刻が反映される。 |
[in] | e | 解析するentry構造体へのポインタ。 |
[in] | start | 検索を開始する時刻(time_t) |
[in] | range | 検索する範囲(sec) |
int crontab | ( | int | argc, |
char * | argv[] | ||
) |
crontab形式で指定した開始時刻を取得する。
引数から取得したcrontab形式の文字列を解析して、直近の時刻を取得する。 取得した時刻はstdinから読み込んだスケジュールの開始時刻に反映して、 stdoutに出力する。
[in] | argc | argc値 |
[in] | argv | argv値 |
|
static |
stdinの内容をstdoutに受け流す。
[in] | in | stdinから読み込んだスケジュール。 |
[in] | uo | 反映する空き時間のスケジュール。 |
|
static |
inにstartを反映したスケジュールをstdoutに出力する。
[in] | in | stdinから読み込んだスケジュール。 |
[in] | start | 反映する開始時刻。 |
|
static |
コマンドライン引数を解析する。
[in] | argc | argc値 |
[in] | argv | argv値 |
[out] | arg | 位置引数の値が反映される。 |
[out] | range_backward | '-r'オプションの値が反映される。 |
[out] | range_forward | '-R'オプションの値が反映される。 |
[out] | verbose | '-v'オプション(verboseモード)の値が反映される。 |
|
static |
ファイルに書き込まれたcrontabフォーマットの文字列を解析してentry構造体を作成する。
作成された構造体は、不要になったときメモリの解放をする必要がある。
[in] | fp | 解析するcrontabフォーマットの文字列が書き込まれたファイルへのポインタ。 |
|
static |
crontabフォーマットの文字列を解析して、直近の時刻を取得する。
[out] | result | 取得した時刻が反映される。 |
[in] | str | 解析するcrontabフォーマットの文字列。 |
[in] | range_backward | 検索する過去の範囲(sec) |
[in] | range_forward | 検索する未来の範囲(sec) |
|
static |
stdinからスケジュールを読み込む。
[out] | sched | 読み込んだスケジュールが反映される。 |