iPXE
Functions
job.c File Reference

Job control interfaces. More...

#include <string.h>
#include <errno.h>
#include <ipxe/job.h>

Go to the source code of this file.

Functions

 FILE_LICENCE (GPL2_OR_LATER_OR_UBDL)
 
 FILE_SECBOOT (PERMITTED)
 
int job_progress (struct interface *intf, struct job_progress *progress)
 Get job progress. More...
 

Detailed Description

Job control interfaces.

Definition in file job.c.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ FILE_SECBOOT()

FILE_SECBOOT ( PERMITTED  )

◆ job_progress()

int job_progress ( struct interface intf,
struct job_progress progress 
)

Get job progress.

Parameters
intfObject interface
progressProgress data to fill in
Return values
ongoing_rcOngoing job status code (if known)

Definition at line 44 of file job.c.

44  {
45  struct interface *dest;
46  job_progress_TYPE ( void * ) *op =
48  void *object = intf_object ( dest );
49  int ongoing_rc;
50 
51  DBGC ( INTF_COL ( intf ), "INTF " INTF_INTF_FMT " job_progress\n",
52  INTF_INTF_DBG ( intf, dest ) );
53 
54  /* Initialise progress to zero */
55  memset ( progress, 0, sizeof ( *progress ) );
56 
57  if ( op ) {
58  ongoing_rc = op ( object, progress );
59  } else {
60  /* Default is to leave progress as zero and have no
61  * known return status code.
62  */
63  ongoing_rc = 0;
64  }
65 
66  intf_put ( dest );
67  return ongoing_rc;
68 }
#define INTF_INTF_FMT
printf() format string for INTF_INTF_DBG()
Definition: interface.h:298
#define INTF_INTF_DBG(intf, dest)
printf() arguments for representing an object interface pair
Definition: interface.h:307
#define INTF_COL(intf)
Find debugging colourisation for an object interface.
Definition: interface.h:282
#define DBGC(...)
Definition: compiler.h:505
void * intf_object(struct interface *intf)
Get pointer to object containing object interface.
Definition: interface.c:160
struct interface * intf
Original interface.
Definition: interface.h:159
An object interface.
Definition: interface.h:125
Job progress.
Definition: job.h:16
#define job_progress_TYPE(object_type)
Definition: job.h:38
static uint16_t struct vmbus_xfer_pages_operations * op
Definition: netvsc.h:327
void intf_put(struct interface *intf)
Decrement reference count on an object interface.
Definition: interface.c:150
if(len >=6 *4) __asm__ __volatile__("movsl" if(len >=5 *4) __asm__ __volatile__("movsl" if(len >=4 *4) __asm__ __volatile__("movsl" if(len >=3 *4) __asm__ __volatile__("movsl" if(len >=2 *4) __asm__ __volatile__("movsl" if(len >=1 *4) __asm__ __volatile__("movsl" if((len % 4) >=2) __asm__ __volatile__("movsw" if((len % 2) >=1) __asm__ __volatile__("movsb" return dest
Definition: string.h:151
#define intf_get_dest_op(intf, type, dest)
Get object interface destination and operation method.
Definition: interface.h:270
void * memset(void *dest, int character, size_t len) __nonnull

References DBGC, dest, interface::intf, INTF_COL, intf_get_dest_op, INTF_INTF_DBG, INTF_INTF_FMT, intf_object(), intf_put(), job_progress_TYPE, memset(), and op.

Referenced by monojob_wait(), and tls_progress().