Lines Matching refs:cmd

56 static void AddVisibleField(Command* cmd, const char* name, int offset) {
58 if (cmd->fields != NULL) {
61 fld->next = cmd->fields;
62 cmd->fields = fld;
71 static void AddInitializedField(Command* cmd, int offset,
74 fld->next = cmd->fields;
75 cmd->fields = fld;
86 Command* cmd = (Command*) calloc(1, sizeof(Command));
87 cmd->size = size;
88 AddInitializedField(cmd, 0, sizeof(TPM_TAG), TPM_TAG_RQU_COMMAND);
89 AddInitializedField(cmd, sizeof(TPM_TAG), sizeof(uint32_t), size);
90 AddInitializedField(cmd, sizeof(TPM_TAG) + sizeof(uint32_t),
92 return cmd;
132 Command* cmd = newCommand(TPM_ORD_NV_DefineSpace, size);
133 cmd->name = "tpm_nv_definespace_cmd";
135 AddVisibleField(cmd, "index", nv_index);
136 AddVisibleField(cmd, "perm", nv_permission_attributes);
137 AddVisibleField(cmd, "size", nv_datasize);
139 AddInitializedField(cmd, nv_data_public, sizeof(uint16_t),
141 AddInitializedField(cmd, nv_pcr_info_read, sizeof(uint16_t), 3);
142 AddInitializedField(cmd, read_locality, sizeof(TPM_LOCALITY_SELECTION),
144 AddInitializedField(cmd, nv_pcr_info_write, sizeof(uint16_t), 3);
145 AddInitializedField(cmd, write_locality, sizeof(TPM_LOCALITY_SELECTION),
147 AddInitializedField(cmd, nv_permission_tag, sizeof(TPM_STRUCTURE_TAG),
149 return cmd;
155 Command* cmd = newCommand(TPM_ORD_NV_WriteValue, 0);
156 cmd->name = "tpm_nv_write_cmd";
157 cmd->max_size = TPM_LARGE_ENOUGH_COMMAND_SIZE;
158 AddVisibleField(cmd, "index", kTpmRequestHeaderLength);
159 AddVisibleField(cmd, "length", kTpmRequestHeaderLength + 8);
160 AddVisibleField(cmd, "data", kTpmRequestHeaderLength + 12);
161 return cmd;
166 Command* cmd = newCommand(TPM_ORD_NV_ReadValue, size);
167 cmd->name = "tpm_nv_read_cmd";
168 AddVisibleField(cmd, "index", kTpmRequestHeaderLength);
169 AddVisibleField(cmd, "length", kTpmRequestHeaderLength + 8);
170 return cmd;
175 Command* cmd = newCommand(TPM_ORD_PcrRead, size);
176 cmd->name = "tpm_pcr_read_cmd";
177 AddVisibleField(cmd, "pcrNum", kTpmRequestHeaderLength);
178 return cmd;
183 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
184 cmd->name = "tpm_ppassert_cmd";
185 AddInitializedField(cmd, kTpmRequestHeaderLength,
188 return cmd;
193 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
194 cmd->name = "tpm_ppenable_cmd";
195 AddInitializedField(cmd, kTpmRequestHeaderLength,
198 return cmd;
203 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
204 cmd->name = "tpm_finalizepp_cmd";
205 AddInitializedField(cmd, kTpmRequestHeaderLength,
210 return cmd;
215 Command* cmd = newCommand(TSC_ORD_PhysicalPresence, size);
216 cmd->name = "tpm_pplock_cmd";
217 AddInitializedField(cmd, kTpmRequestHeaderLength,
220 return cmd;
225 Command* cmd = newCommand(TPM_ORD_Startup, size);
226 cmd->name = "tpm_startup_cmd";
227 AddInitializedField(cmd, kTpmRequestHeaderLength,
230 return cmd;
235 Command* cmd = newCommand(TPM_ORD_SaveState, size);
236 cmd->name = "tpm_savestate_cmd";
237 return cmd;
242 Command* cmd = newCommand(TPM_ORD_Startup, size);
243 cmd->name = "tpm_resume_cmd";
244 AddInitializedField(cmd, kTpmRequestHeaderLength,
247 return cmd;
252 Command* cmd = newCommand(TPM_ORD_SelfTestFull, size);
253 cmd->name = "tpm_selftestfull_cmd";
254 return cmd;
259 Command* cmd = newCommand(TPM_ORD_ContinueSelfTest, size);
260 cmd->name = "tpm_continueselftest_cmd";
261 return cmd;
266 Command* cmd = newCommand(TPM_ORD_ReadPubek, size);
267 cmd->name = "tpm_readpubek_cmd";
268 return cmd;
273 Command* cmd = newCommand(TPM_ORD_ForceClear, size);
274 cmd->name = "tpm_forceclear_cmd";
275 return cmd;
280 Command* cmd = newCommand(TPM_ORD_PhysicalEnable, size);
281 cmd->name = "tpm_physicalenable_cmd";
282 return cmd;
287 Command* cmd = newCommand(TPM_ORD_PhysicalDisable, size);
288 cmd->name = "tpm_physicaldisable_cmd";
289 return cmd;
294 Command* cmd = newCommand(TPM_ORD_PhysicalSetDeactivated, size);
295 cmd->name = "tpm_physicalsetdeactivated_cmd";
296 AddVisibleField(cmd, "deactivated", kTpmRequestHeaderLength);
297 return cmd;
302 Command* cmd = newCommand(TPM_ORD_Extend, size);
303 cmd->name = "tpm_extend_cmd";
304 AddVisibleField(cmd, "pcrNum", kTpmRequestHeaderLength);
305 AddVisibleField(cmd, "inDigest", kTpmRequestHeaderLength + sizeof(uint32_t));
306 return cmd;
315 Command* cmd = newCommand(TPM_ORD_GetCapability, size);
316 cmd->name = "tpm_getflags_cmd";
317 AddInitializedField(cmd, kTpmRequestHeaderLength,
319 AddInitializedField(cmd, kTpmRequestHeaderLength +
322 AddInitializedField(cmd, kTpmRequestHeaderLength +
325 return cmd;
334 Command* cmd = newCommand(TPM_ORD_GetCapability, size);
335 cmd->name = "tpm_getstclearflags_cmd";
336 AddInitializedField(cmd, kTpmRequestHeaderLength,
338 AddInitializedField(cmd, kTpmRequestHeaderLength +
341 AddInitializedField(cmd, kTpmRequestHeaderLength +
344 return cmd;
353 Command* cmd = newCommand(TPM_ORD_GetCapability, size);
354 cmd->name = "tpm_getpermissions_cmd";
355 AddInitializedField(cmd, kTpmRequestHeaderLength,
357 AddInitializedField(cmd, kTpmRequestHeaderLength +
360 AddVisibleField(cmd, "index", kTpmRequestHeaderLength +
362 return cmd;
371 Command* cmd = newCommand(TPM_ORD_GetCapability, size);
372 cmd->name = "tpm_getownership_cmd";
373 AddInitializedField(cmd, kTpmRequestHeaderLength,
375 AddInitializedField(cmd, kTpmRequestHeaderLength +
378 AddInitializedField(cmd, kTpmRequestHeaderLength +
381 return cmd;
386 Command* cmd = newCommand(TPM_ORD_GetRandom, size);
387 cmd->name = "tpm_get_random_cmd";
388 AddVisibleField(cmd, "bytesRequested", kTpmRequestHeaderLength);
389 return cmd;
408 int OutputBytes_(Command* cmd, Field* fld) {
415 cursor = OutputBytes_(cmd, fld->next);
455 void OutputBytes(Command* cmd) {
456 (void) OutputBytes_(cmd, cmd->fields);
459 void OutputFieldPointers(Command* cmd, Field* fld) {
463 OutputFieldPointers(cmd, fld->next);
472 void OutputCommands(Command* cmd) {
473 if (cmd == NULL) {
477 cmd->name, cmd->size == 0 ? cmd->max_size : cmd->size);
478 OutputFields(cmd->fields);
479 printf("} %s = {{", cmd->name);
480 OutputBytes(cmd);
482 OutputFieldPointers(cmd, cmd->fields);
485 OutputCommands(cmd->next);
523 static void FreeCommands(Command* cmd) {
524 if (cmd != NULL) {
525 Command* next_command = cmd->next;
526 FreeFields(cmd->fields);
527 free(cmd);
536 Command* cmd = builders[i]();
537 cmd->next = commands;
538 commands = cmd;