#pragma once
#ifndef ANGERONA_H
#define ANGERONA_H

#include <windows.h>
#include "paquete.h"
#include "analizador.h"
#include "utils.h"
#include "checkin.h"
#include "socks_manager.h"  // <— añadido para acceso a socks_proxy_active

typedef struct {
    // UUID
    PCHAR idAgente;
    // HTTP
    PWCHAR hostName;
    DWORD puertoHttp;
    PWCHAR endPoint;
    PWCHAR userAgent;
    PWCHAR metodoHttp;

    BOOL SSL;
    BOOL proxyHabilitado;
    PWCHAR urlProxy;

    UINT32 tiempoSleep;
    BOOL encryptionEnabled;
} CONFIG_ANGERONA, *PCONFIG_ANGERONA;

extern PCONFIG_ANGERONA angeronaConfig;

/* Context tracking functions */
PCHAR getCurrentDirectoryContext(void);
VOID setCurrentDirectoryContext(PCHAR cwd);
PCHAR getImpersonationContext(void);
VOID setImpersonationContext(PCHAR context);
VOID clearImpersonationContext(void);

VOID setUUID(PCHAR newUUID);
VOID angeronaMain(void);

#endif
