/* * Return codes for sequence based RTAS calls. * Not listed under PAPR+ v2.13 7.2.8: "Return Codes". * But defined in the specific section of each RTAS call.
*/ #define RTAS_SEQ_COMPLETE 0 /* All data has been retrieved. */ #define RTAS_SEQ_MORE_DATA 1 /* More data is available */ #define RTAS_SEQ_START_OVER -4 /* Data changed, restart call sequence. */
/* * Internal "blob" APIs for accumulating RTAS call results into * an immutable buffer to be attached to a file descriptor.
*/ struct papr_rtas_blob { constchar *data;
size_t len;
};
/** * struct papr_sequence - State for managing a sequence of RTAS calls. * @error: Shall be zero as long as the sequence has not encountered an error, * -ve errno otherwise. Use papr_rtas_sequence_set_err() to update. * @params: Parameter block to pass to rtas_*() calls. * @begin: Work area allocation and initialize the needed parameter * values passed to RTAS call * @end: Free the allocated work area * @work: Obtain data with RTAS call and invoke it until the sequence is * completed. *
*/ struct papr_rtas_sequence { int error; void *params; void (*begin)(struct papr_rtas_sequence *seq); void (*end)(struct papr_rtas_sequence *seq); constchar *(*work)(struct papr_rtas_sequence *seq, size_t *len);
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.