cups

package
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2025 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IPP_OP_PRINT_JOB         = 0x0002
	IPP_OP_VALIDATE_JOB      = 0x0004
	IPP_OP_GET_PRINTER_ATTRS = 0x000B
	IPP_OP_GET_JOBS          = 0x000A
	IPP_OP_CANCEL_JOB        = 0x0008
	IPP_OP_PAUSE_PRINTER     = 0x0010
	IPP_OP_RESUME_PRINTER    = 0x0011
	IPP_OP_PURGE_JOBS        = 0x0012
	IPP_OP_CUPS_GET_PRINTERS = 0x4002
	IPP_OP_CUPS_GET_DEFAULT  = 0x4001
)

IPP Operation IDs

View Source
const (
	IPP_STATUS_OK           = 0x0000
	IPP_STATUS_CLIENT_ERROR = 0x0400
	IPP_STATUS_SERVER_ERROR = 0x0500
)

IPP Status Codes

View Source
const (
	IPP_TAG_ZERO               = 0x00
	IPP_TAG_OPERATION          = 0x01
	IPP_TAG_JOB                = 0x02
	IPP_TAG_END                = 0x03
	IPP_TAG_PRINTER            = 0x04
	IPP_TAG_UNSUPPORTED_GROUP  = 0x05
	IPP_TAG_SUBSCRIPTION       = 0x06
	IPP_TAG_EVENT_NOTIFICATION = 0x07
	IPP_TAG_INTEGER            = 0x21
	IPP_TAG_BOOLEAN            = 0x22
	IPP_TAG_ENUM               = 0x23
	IPP_TAG_STRING             = 0x30
	IPP_TAG_DATE               = 0x31
	IPP_TAG_RESOLUTION         = 0x32
	IPP_TAG_RANGE              = 0x33
	IPP_TAG_BEGIN_COLLECTION   = 0x34
	IPP_TAG_TEXT_LANG          = 0x35
	IPP_TAG_NAME_LANG          = 0x36
	IPP_TAG_END_COLLECTION     = 0x37
	IPP_TAG_TEXT               = 0x41
	IPP_TAG_NAME               = 0x42
	IPP_TAG_KEYWORD            = 0x44
	IPP_TAG_URI                = 0x45
	IPP_TAG_CHARSET            = 0x47
	IPP_TAG_LANGUAGE           = 0x48
	IPP_TAG_MIMETYPE           = 0x49
)

IPP Tags

Variables

This section is empty.

Functions

func HandleRequest

func HandleRequest(conn net.Conn, req Request, manager *Manager)

Types

type CUPSAccessLogEntry

type CUPSAccessLogEntry struct {
	Host         string
	Group        string
	User         string
	Timestamp    time.Time
	Method       string
	Resource     string
	Version      string
	Status       int
	Bytes        int
	IPPOperation string
	IPPStatus    string
}

func (*CUPSAccessLogEntry) EventType

func (e *CUPSAccessLogEntry) EventType() string

func (*CUPSAccessLogEntry) GetPrinterName

func (e *CUPSAccessLogEntry) GetPrinterName() string

func (*CUPSAccessLogEntry) IsSuccessful

func (e *CUPSAccessLogEntry) IsSuccessful() bool

type CUPSEvent

type CUPSEvent struct {
	Type string    `json:"type"`
	Data CUPSState `json:"data"`
}

type CUPSState

type CUPSState struct {
	Printers map[string]*Printer `json:"printers"`
}

type Job

type Job struct {
	ID          int       `json:"id"`
	Name        string    `json:"name"`
	State       string    `json:"state"`
	Printer     string    `json:"printer"`
	User        string    `json:"user"`
	Size        int       `json:"size"`
	TimeCreated time.Time `json:"timeCreated"`
}

type LogMonitor

type LogMonitor struct {
	// contains filtered or unexported fields
}

log fallback

func (*LogMonitor) Close

func (lm *LogMonitor) Close()

func (*LogMonitor) FallbackLogMonitorStart

func (lm *LogMonitor) FallbackLogMonitorStart() error

type Manager

type Manager struct {
	BaseURL string
	Client  *http.Client
	// contains filtered or unexported fields
}

func NewManager

func NewManager() (*Manager, error)

func (*Manager) CancelJob

func (m *Manager) CancelJob(printerName string, jobID int) error

func (*Manager) Close

func (m *Manager) Close()

func (*Manager) GetJobs

func (m *Manager) GetJobs(printerName string, whichJobs string) ([]Job, error)

func (*Manager) GetPrinters

func (m *Manager) GetPrinters() ([]Printer, error)

func (*Manager) GetState

func (m *Manager) GetState() CUPSState

func (*Manager) InjectJobCompleted

func (m *Manager) InjectJobCompleted(printerName string) bool

func (*Manager) InjectJobCreated

func (m *Manager) InjectJobCreated(printerName string) bool

func (*Manager) InjectPrinterAdded

func (m *Manager) InjectPrinterAdded() bool

func (*Manager) InjectPrinterDeleted

func (m *Manager) InjectPrinterDeleted() bool

func (*Manager) InjectPrinterStateChanged

func (m *Manager) InjectPrinterStateChanged(printerName string) bool

func (*Manager) InjectSignal

func (m *Manager) InjectSignal(name string, body ...interface{}) bool

func (*Manager) NewLogMonitor

func (m *Manager) NewLogMonitor() (*LogMonitor, error)

func (*Manager) PausePrinter

func (m *Manager) PausePrinter(printerName string) error

func (*Manager) PurgeJobs

func (m *Manager) PurgeJobs(printerName string) error

func (*Manager) ResumePrinter

func (m *Manager) ResumePrinter(printerName string) error

func (*Manager) Subscribe

func (m *Manager) Subscribe(id string) chan CUPSState

func (*Manager) Unsubscribe

func (m *Manager) Unsubscribe(id string)

type Printer

type Printer struct {
	Name        string `json:"name"`
	URI         string `json:"uri"`
	State       string `json:"state"`
	StateReason string `json:"stateReason"`
	Location    string `json:"location"`
	Info        string `json:"info"`
	MakeModel   string `json:"makeModel"`
	Accepting   bool   `json:"accepting"`
	Jobs        []Job  `json:"jobs"`
}

type Request

type Request struct {
	ID     int                    `json:"id,omitempty"`
	Method string                 `json:"method"`
	Params map[string]interface{} `json:"params,omitempty"`
}

type SuccessResult

type SuccessResult struct {
	Success bool   `json:"success"`
	Message string `json:"message"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL