99,17 → 99,26 |
|
if (!contract) return FSF_ERR_BAD_ARGUMENT; |
|
if (budget_min) { |
if (budget_min && (budget_min->tv_sec!=0 || budget_min->tv_nsec!=0)) { |
TIMESPEC_ASSIGN(&contract->budget_min,budget_min); |
TIMESPEC_ASSIGN(&contract->budget_max,budget_min); |
} |
if (period_max) { |
} else return FSF_ERR_BAD_ARGUMENT; |
|
if (period_max && (period_max->tv_sec!=0 || period_max->tv_nsec!=0)) { |
TIMESPEC_ASSIGN(&contract->period_max,period_max); |
TIMESPEC_ASSIGN(&contract->period_min,period_max); |
} else return FSF_ERR_BAD_ARGUMENT; |
|
switch(workload) { |
case FSF_INDETERMINATE: |
case FSF_BOUNDED: |
case FSF_OVERHEAD: |
contract->workload = workload; |
break; |
default: return FSF_ERR_BAD_ARGUMENT; |
} |
|
contract->workload = workload; |
|
|
return 0; |
|
} |
121,7 → 130,7 |
fsf_workload_t *workload) |
{ |
|
if (!contract) return FSF_ERR_BAD_ARGUMENT; |
if (!contract) return FSF_ERR_BAD_ARGUMENT; |
|
TIMESPEC_ASSIGN(budget_min,&contract->budget_min); |
TIMESPEC_ASSIGN(period_max,&contract->period_max); |
143,6 → 152,11 |
{ |
|
if (!contract) return FSF_ERR_BAD_ARGUMENT; |
if ((d_equals_t==true && deadline != FSF_NULL_DEADLINE) || |
(d_equals_t==false && deadline == FSF_NULL_DEADLINE)) |
return FSF_ERR_BAD_ARGUMENT; |
if (TIMESPEC_A_GT_B(deadline, &contract->period_max)) |
return FSF_ERR_BAD_ARGUMENT; |
|
contract->d_equals_t = d_equals_t; |
|