iPXE
Data Structures | Macros | Functions | Variables
job.h File Reference

Job control interfaces. More...

#include <ipxe/interface.h>

Go to the source code of this file.

Data Structures

struct  job_progress
 Job progress. More...
 

Macros

#define job_progress_TYPE(object_type)   typeof ( int ( object_type, struct job_progress *progress ) )
 

Functions

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

Variables

struct job_progress __attribute__
 

Detailed Description

Job control interfaces.

Definition in file job.h.

Macro Definition Documentation

◆ job_progress_TYPE

#define job_progress_TYPE (   object_type)    typeof ( int ( object_type, struct job_progress *progress ) )

Definition at line 37 of file job.h.

Function Documentation

◆ FILE_LICENCE()

FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL  )

◆ 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 43 of file job.c.

43  {
44  struct interface *dest;
45  job_progress_TYPE ( void * ) *op =
47  void *object = intf_object ( dest );
48  int ongoing_rc;
49 
50  DBGC ( INTF_COL ( intf ), "INTF " INTF_INTF_FMT " job_progress\n",
51  INTF_INTF_DBG ( intf, dest ) );
52 
53  /* Initialise progress to zero */
54  memset ( progress, 0, sizeof ( *progress ) );
55 
56  if ( op ) {
57  ongoing_rc = op ( object, progress );
58  } else {
59  /* Default is to leave progress as zero and have no
60  * known return status code.
61  */
62  ongoing_rc = 0;
63  }
64 
65  intf_put ( dest );
66  return ongoing_rc;
67 }
#define INTF_INTF_FMT
printf() format string for INTF_INTF_DBG()
Definition: interface.h:297
#define INTF_INTF_DBG(intf, dest)
printf() arguments for representing an object interface pair
Definition: interface.h:306
#define INTF_COL(intf)
Find debugging colourisation for an object interface.
Definition: interface.h:281
#define DBGC(...)
Definition: compiler.h:505
void * intf_object(struct interface *intf)
Get pointer to object containing object interface.
Definition: interface.c:159
struct interface * intf
Original interface.
Definition: interface.h:158
An object interface.
Definition: interface.h:124
Job progress.
Definition: job.h:15
#define job_progress_TYPE(object_type)
Definition: job.h:37
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:149
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:150
#define intf_get_dest_op(intf, type, dest)
Get object interface destination and operation method.
Definition: interface.h:269
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().

Variable Documentation

◆ __attribute__