netatalk  4.5.0
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
spotlight.h File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <atalk/globals.h>
#include <atalk/volume.h>
#include <atalk/dalloc.h>

Go to the source code of this file.

Data Structures

struct  sl_uuid_t
 
struct  sl_cnids_t
 
struct  sl_rslts
 
struct  _slq_t
 
struct  sl_backend_ops
 

Macros

#define SPOTLIGHT_H
 
#define SPOTLIGHT_CMD_OPEN   1
 
#define SPOTLIGHT_CMD_FLAGS   2
 
#define SPOTLIGHT_CMD_RPC   3
 
#define SPOTLIGHT_CMD_OPEN2   4
 
#define SL_ENC_LITTLE_ENDIAN   1
 
#define SL_ENC_BIG_ENDIAN   2
 
#define SL_ENC_UTF_16   4
 

Typedefs

typedef DALLOC_CTX sl_array_t
 
typedef DALLOC_CTX sl_dict_t
 
typedef DALLOC_CTX sl_filemeta_t
 
typedef int sl_nil_t
 
typedef bool sl_bool_t
 
typedef struct timeval sl_time_t
 
typedef struct _slq_t slq_t
 
typedef struct sl_backend_ops sl_backend_ops
 

Enumerations

enum  slq_state_t {
  SLQ_STATE_NEW , SLQ_STATE_RUNNING , SLQ_STATE_RESULTS , SLQ_STATE_FULL ,
  SLQ_STATE_DONE , SLQ_STATE_CANCEL_PENDING , SLQ_STATE_CANCELLED , SLQ_STATE_ERROR
}
 
enum  sl_index_event_t {
  SL_INDEX_FILE_MODIFY , SL_INDEX_FILE_DELETE , SL_INDEX_DIR_DELETE , SL_INDEX_FILE_CREATE ,
  SL_INDEX_DIR_CREATE , SL_INDEX_FILE_MOVE , SL_INDEX_DIR_MOVE
}
 

Functions

int afp_spotlight_rpc (AFPObj *obj, char *ibuf, size_t ibuflen, char *rbuf, size_t *rbuflen)
 
int sl_index_event (const AFPObj *obj, const struct vol *vol, sl_index_event_t event, const char *path, const char *oldpath)
 
int sl_pack (DALLOC_CTX *query, char *buf)
 
int sl_unpack (DALLOC_CTX *query, const char *buf)
 
int sl_unpack_len (DALLOC_CTX *query, const char *buf, size_t buf_len)
 
void configure_spotlight_attributes (const char *attributes)
 

Macro Definition Documentation

◆ SL_ENC_BIG_ENDIAN

#define SL_ENC_BIG_ENDIAN   2

◆ SL_ENC_LITTLE_ENDIAN

#define SL_ENC_LITTLE_ENDIAN   1

◆ SL_ENC_UTF_16

#define SL_ENC_UTF_16   4

◆ SPOTLIGHT_CMD_FLAGS

#define SPOTLIGHT_CMD_FLAGS   2

◆ SPOTLIGHT_CMD_OPEN

#define SPOTLIGHT_CMD_OPEN   1

◆ SPOTLIGHT_CMD_OPEN2

#define SPOTLIGHT_CMD_OPEN2   4

◆ SPOTLIGHT_CMD_RPC

#define SPOTLIGHT_CMD_RPC   3

◆ SPOTLIGHT_H

#define SPOTLIGHT_H

Typedef Documentation

◆ sl_array_t

an array of elements

◆ sl_backend_ops

◆ sl_bool_t

typedef bool sl_bool_t

a boolean, we avoid bool_t

◆ sl_dict_t

an array of key/value elements

◆ sl_filemeta_t

contains one sl_array_t

◆ sl_nil_t

typedef int sl_nil_t

a nil element

◆ sl_time_t

typedef struct timeval sl_time_t

◆ slq_t

typedef struct _slq_t slq_t

Internal query data structure

Enumeration Type Documentation

◆ sl_index_event_t

file-system changes a Spotlight backend may index incrementally

Enumerator
SL_INDEX_FILE_MODIFY 
SL_INDEX_FILE_DELETE 
SL_INDEX_DIR_DELETE 
SL_INDEX_FILE_CREATE 
SL_INDEX_DIR_CREATE 
SL_INDEX_FILE_MOVE 
SL_INDEX_DIR_MOVE 

◆ slq_state_t

query state

Enumerator
SLQ_STATE_NEW 

Query received from client

SLQ_STATE_RUNNING 

Query dispatched to backend

SLQ_STATE_RESULTS 

Async backend query read

SLQ_STATE_FULL 

result queue is full

SLQ_STATE_DONE 

Got all results from backend

SLQ_STATE_CANCEL_PENDING 

a cancel op for the query is pending

SLQ_STATE_CANCELLED 

the query has been cancelled

SLQ_STATE_ERROR 

an error happended somewhere

Function Documentation

◆ afp_spotlight_rpc()

int afp_spotlight_rpc ( AFPObj obj,
char *  ibuf,
size_t  ibuflen,
char *  rbuf,
size_t *  rbuflen 
)
extern

◆ configure_spotlight_attributes()

void configure_spotlight_attributes ( const char *  attributes)
extern

◆ sl_index_event()

int sl_index_event ( const AFPObj obj,
const struct vol vol,
sl_index_event_t  event,
const char *  path,
const char *  oldpath 
)
extern

◆ sl_pack()

int sl_pack ( DALLOC_CTX query,
char *  buf 
)
extern

◆ sl_unpack()

int sl_unpack ( DALLOC_CTX query,
const char *  buf 
)
extern

◆ sl_unpack_len()

int sl_unpack_len ( DALLOC_CTX query,
const char *  buf,
size_t  buf_len 
)
extern