Logo
  • New in Bacula Enterprise ⭐
  • ABOUT BACULA EDITIONS
  • FUNDAMENTALS
  • PLANNING AND PREPARATION
  • INSTALLATION
  • CONFIGURATION
  • USER INTERFACES
  • DEDICATED BACKUP SOLUTIONS
  • MANAGEMENT
  • SECURITY AND THREAT ANALYSIS
  • ADVANCED FEATURES USAGE
    • Replication: Copy/Migration Jobs
    • Verify Jobs
    • Virtual Full Jobs
    • Tape Autochanger Setup
    • Bacula Enterprise Continuous Data Protection
    • Data Encryption
    • Bacula TLS - Communications Encryption
    • File Deduplication using Base Jobs
    • REST API
    • AS/400 Backup
    • Developer Guide
      • Bacula Memory Management
      • Implementing GUI Interface
      • Developer Notes
      • Bacula Regression Testing
      • TCP/IP Network Protocol
      • Bacula Porting Notes
      • Director Services Daemon
      • File Services Daemon
      • Smart Memory Allocation
      • Storage Daemon Design
      • Storage Media Output Format
      • Catalog Services
      • Platform Support
      • TLS
      • Bacula MD5 Algorithm
      • Bacula FD Plugin API
        • Plugin EntryPoints
        • Advanced Restore Options
        • Building Bacula Plugins
        • Normal vs Command vs Options vs Verify Plugins
        • Loading Plugins
        • load Plugin
        • Bacula Plugin Entrypoints
        • Bacula Auth Plugin Documentation
      • Daemon Protocol
      • Publishing Code
  • PERFORMANCE FINE TUNING
  • INFRASTRUCTURE RECOVERY
  • UPGRADE AND REMOVAL
  • TECHNICAL REFERENCE
  • TROUBLESHOOTING
  • FAQ
  • RELEASE NOTES
bsysdoc
  • Advanced Features Usage
  • Developer Guide
  • Bacula FD Plugin API
  • Plugin EntryPoints

Plugin EntryPoints

This section will describe each of the entry points (subroutines) within the plugin that the plugin must provide for Bacula, when they are called and their arguments. As noted above, pointers to these subroutines are passed back to Bacula in the pFuncs structure when Bacula calls the loadPlugin() externally defined entry point.

Read more:

  • pluginIO(bpContext *ctx, struct io_pkt *io)
  • setPluginValue(bpContext *ctx, pVariable var, void *value)
  • setFileAttributes(bpContext *ctx, struct restore_pkt *rp)
  • bool checkFile(bpContext *ctx, char *fname)
  • startVerifyFile(bpContext *ctx, struct save_pkt *sp)
  • startRestoreFile(bpContext *ctx, const char *cmd)
  • createFile(bpContext *ctx, struct restore_pkt *rp)
  • endBackupFile(bpContext *ctx)
  • startBackupFile(bpContext *ctx, struct save_pkt *sp)
  • freePlugin(bpContext *ctx)
  • bRC queryParameter(bpContext *ctx, struct query_pkt *qp)
  • newPlugin(bpContext *ctx)
  • getPluginValue(bpContext *ctx, pVariable var, void *value)
  • handlePluginEvent(bpContext *ctx, bEvent *event, void *value)
  • endRestoreFile(bpContext *ctx)

See also

Next articles:

  • Advanced Restore Options

  • Building Bacula Plugins

  • Normal vs Command vs Options vs Verify Plugins

  • Loading Plugins

  • load Plugin

  • Bacula Plugin Entrypoints

  • Bacula Auth Plugin Documentation

Go back to: Bacula FD Plugin API.


© Copyright 2026, Bacula Systems.

Built with Sphinx using a theme provided by Read the Docs.