XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
host.c File Reference
#include <stdint.h>
#include <string.h>
#include <stdio.h>
#include <_null.h>
#include <aucon.h>
#include <Bt/bt.h>
#include <Fs/vfs.h>
#include <Fs/Dev/devfs.h>
#include <Mm/kmalloc.h>
#include <Mm/vmmngr.h>
#include <Hal/AA64/sched.h>
#include <Hal/AA64/aa64cpu.h>
#include <Sound/sound.h>
#include <Drivers/uart.h>
#include <pcie.h>
#include "crypto.h"
#include "h4.h"
#include "parse.h"
#include "lc3.h"
#include "sbc.h"
#include "avdtp.h"
Include dependency graph for host.c:

Classes

struct  Bond
 

Macros

#define HCI_RESET   0x0C03
 
#define HCI_SET_EVENT_MASK   0x0C01
 
#define HCI_WRITE_LE_HOST   0x0C6D
 
#define HCI_READ_VER   0x1001
 
#define HCI_READ_BD   0x1009
 
#define HCI_READ_BUF   0x1005
 
#define HCI_DISCONNECT   0x0406
 
#define LE_SET_EVENT_MASK   0x2001
 
#define LE_READ_BUF   0x2002
 
#define LE_READ_FEAT   0x2003
 
#define LE_SET_SCAN_PAR   0x200B
 
#define LE_SET_SCAN_EN   0x200C
 
#define LE_CREATE_CONN   0x200D
 
#define HCI_INQUIRY   0x0401
 
#define HCI_CREATE_CONN   0x0405
 
#define HCI_AUTH_REQ   0x0411
 
#define HCI_SET_ENCRYPT   0x0413
 
#define HCI_LINK_KEY_REPLY   0x040B
 
#define HCI_LINK_KEY_NEG   0x040C
 
#define HCI_PIN_REPLY   0x040D
 
#define HCI_IO_CAP_REPLY   0x042B
 
#define HCI_USER_CONFIRM   0x042C
 
#define HCI_WRITE_INQ_MODE   0x0C45
 
#define HCI_WRITE_SIMPLE_PAIR_MODE   0x0C56
 
#define HCI_WRITE_SEC_CONN_HOST   0x0C7A
 
#define LE_START_ENC   0x2019
 
#define LE_LTK_REPLY   0x201A
 
#define LE_LTK_NEG   0x201B
 
#define LE_READ_BUF_V2   0x2060
 
#define LE_SET_CIG   0x2062
 
#define LE_CREATE_CIS   0x2064
 
#define LE_SETUP_ISO   0x206E
 
#define LE_SET_HOST_FEAT   0x2074
 
#define MAX_BONDS   8
 
#define BT_UART1_PHYS   0u
 

Functions

uint64_t AA64GetPhysicalTimerCount (void)
 
void AuBtUsbReady (const AuBtUsbOps *ops)
 
void AuBtInitialize (void)
 
void AuBtH4Push (uint8_t byte)
 

Variables

uint64_t cpuFrequency
 
bool _scheduler_initialized
 

Macro Definition Documentation

◆ BT_UART1_PHYS

#define BT_UART1_PHYS   0u

◆ HCI_AUTH_REQ

#define HCI_AUTH_REQ   0x0411

◆ HCI_CREATE_CONN

#define HCI_CREATE_CONN   0x0405

◆ HCI_DISCONNECT

#define HCI_DISCONNECT   0x0406

◆ HCI_INQUIRY

#define HCI_INQUIRY   0x0401

◆ HCI_IO_CAP_REPLY

#define HCI_IO_CAP_REPLY   0x042B

◆ HCI_LINK_KEY_NEG

#define HCI_LINK_KEY_NEG   0x040C

◆ HCI_LINK_KEY_REPLY

#define HCI_LINK_KEY_REPLY   0x040B

◆ HCI_PIN_REPLY

#define HCI_PIN_REPLY   0x040D

◆ HCI_READ_BD

#define HCI_READ_BD   0x1009

◆ HCI_READ_BUF

#define HCI_READ_BUF   0x1005

◆ HCI_READ_VER

#define HCI_READ_VER   0x1001

◆ HCI_RESET

#define HCI_RESET   0x0C03

◆ HCI_SET_ENCRYPT

#define HCI_SET_ENCRYPT   0x0413

◆ HCI_SET_EVENT_MASK

#define HCI_SET_EVENT_MASK   0x0C01

◆ HCI_USER_CONFIRM

#define HCI_USER_CONFIRM   0x042C

◆ HCI_WRITE_INQ_MODE

#define HCI_WRITE_INQ_MODE   0x0C45

◆ HCI_WRITE_LE_HOST

#define HCI_WRITE_LE_HOST   0x0C6D

◆ HCI_WRITE_SEC_CONN_HOST

#define HCI_WRITE_SEC_CONN_HOST   0x0C7A

◆ HCI_WRITE_SIMPLE_PAIR_MODE

#define HCI_WRITE_SIMPLE_PAIR_MODE   0x0C56

◆ LE_CREATE_CIS

#define LE_CREATE_CIS   0x2064

◆ LE_CREATE_CONN

#define LE_CREATE_CONN   0x200D

◆ LE_LTK_NEG

#define LE_LTK_NEG   0x201B

◆ LE_LTK_REPLY

#define LE_LTK_REPLY   0x201A

◆ LE_READ_BUF

#define LE_READ_BUF   0x2002

◆ LE_READ_BUF_V2

#define LE_READ_BUF_V2   0x2060

◆ LE_READ_FEAT

#define LE_READ_FEAT   0x2003

◆ LE_SET_CIG

#define LE_SET_CIG   0x2062

◆ LE_SET_EVENT_MASK

#define LE_SET_EVENT_MASK   0x2001

◆ LE_SET_HOST_FEAT

#define LE_SET_HOST_FEAT   0x2074

◆ LE_SET_SCAN_EN

#define LE_SET_SCAN_EN   0x200C

◆ LE_SET_SCAN_PAR

#define LE_SET_SCAN_PAR   0x200B

◆ LE_SETUP_ISO

#define LE_SETUP_ISO   0x206E

◆ LE_START_ENC

#define LE_START_ENC   0x2019

◆ MAX_BONDS

#define MAX_BONDS   8

Function Documentation

◆ AA64GetPhysicalTimerCount()

uint64_t AA64GetPhysicalTimerCount ( void  )
extern

BSD 2-Clause License

Copyright (c) 2022-2026, Manas Kamal Choudhury All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

◆ AuBtH4Push()

void AuBtH4Push ( uint8_t  byte)

◆ AuBtInitialize()

void AuBtInitialize ( void  )

◆ AuBtUsbReady()

void AuBtUsbReady ( const AuBtUsbOps *  ops)

Variable Documentation

◆ _scheduler_initialized

bool _scheduler_initialized
extern

◆ cpuFrequency

uint64_t cpuFrequency
extern