lpac/euicc/es10c.h
2024-02-26 17:37:24 +08:00

70 lines
1.9 KiB
C

#pragma once
#include "euicc.h"
enum es10c_profile_state
{
ES10C_PROFILE_STATE_NULL = -1,
ES10C_PROFILE_STATE_DISABLED = 0,
ES10C_PROFILE_STATE_ENABLED = 1,
ES10C_PROFILE_STATE_UNDEFINED = 255,
};
enum es10c_profile_class
{
ES10C_PROFILE_CLASS_NULL = -1,
ES10C_PROFILE_CLASS_TEST = 0,
ES10C_PROFILE_CLASS_PROVISIONING = 1,
ES10C_PROFILE_CLASS_OPERATIONAL = 2,
ES10C_PROFILE_CLASS_UNDEFINED = 255,
};
enum es10c_icon_type
{
ES10C_ICON_TYPE_NULL = -1,
ES10C_ICON_TYPE_JPEG = 0,
ES10C_ICON_TYPE_PNG = 1,
ES10C_ICON_TYPE_UNDEFINED = 255,
};
struct es10c_profile_info_list
{
char iccid[(10 * 2) + 1];
char isdpAid[(16 * 2) + 1];
enum es10c_profile_state profileState;
enum es10c_profile_class profileClass;
char *profileNickname;
char *serviceProviderName;
char *profileName;
enum es10c_icon_type iconType;
char *icon;
struct
{
char **profileManagementOperation;
char *notificationAddress;
} notificationConfigurationInfo;
struct
{
char *mccmnc;
char *gid1;
char *gid2;
} profileOwner;
struct
{
char *dpOid;
} dpProprietaryData;
char **profilePolicyRules;
struct es10c_profile_info_list *next;
};
int es10c_get_profiles_info(struct euicc_ctx *ctx, struct es10c_profile_info_list **profileInfoList);
int es10c_enable_profile(struct euicc_ctx *ctx, const char *id, uint8_t refreshFlag);
int es10c_disable_profile(struct euicc_ctx *ctx, const char *id, uint8_t refreshFlag);
int es10c_delete_profile(struct euicc_ctx *ctx, const char *id);
int es10c_euicc_memory_reset(struct euicc_ctx *ctx);
int es10c_get_eid(struct euicc_ctx *ctx, char **eidValue);
int es10c_set_nickname(struct euicc_ctx *ctx, const char *iccid, const char *profileNickname);
void es10c_profile_info_list_free_all(struct es10c_profile_info_list *profileInfoList);