⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aoc.h

📁 是一个手机功能的模拟程序
💻 H
字号:
/* 
+----------------------------------------------------------------------------- 
|  Project :  GSM-PS (6147)
|  Modul   :  AOC
+----------------------------------------------------------------------------- 
|  Copyright 2002 Texas Instruments Berlin, AG 
|                 All rights reserved. 
| 
|                 This file is confidential and a trade secret of Texas 
|                 Instruments Berlin, AG 
|                 The receipt of or possession of this file does not convey 
|                 any rights to reproduce or disclose its contents or to 
|                 manufacture, use, or sell anything it may describe, in 
|                 whole, or in part, without the specific written consent of 
|                 Texas Instruments Berlin, AG. 
+----------------------------------------------------------------------------- 
|  Purpose :  Definitions for advice of charge
+----------------------------------------------------------------------------- 
*/ 

#ifndef AOC_H
#define AOC_H

/*
 * States of Module
 */
#define AOC_NULL                  0
#define AOC_DISABLE               1
#define AOC_ENABLE                2
/*
 * Status of SIM Service Table
 */
#define NO_ALLOCATED              0
#define ALLOCATED_AND_DEACTIVATED 2
#define ALLOCATED_AND_ACTIVATED   3

/*
 * Info Causes
 */
#define AOC_START_TIME            1
#define AOC_STOP_TIME             2
#define AOC_START_AOC             3
#define AOC_SUSPEND_AOC           4
#define AOC_RESUME_AOC            5
#define AOC_CALL_CONNECTED        6

/*
 * Request Types
 */
#define AOC_CTV                   0
#define AOC_CCM                   1
#define AOC_ACM                   2
#define AOC_ACMMAX                3
#define AOC_PUCT                  4
#define AOC_CCM_PUCT              5
#define AOC_ACM_PUCT              6
#define AOC_ACMMAX_PUCT           7
#define AOC_PUCT_RAW              8

/*
 * Status of update operation
 */
#define FIRST_UPDATE              0
#define SECOND_UPDATE             1
#define VERIFY_PWD                2
 
/*
 * maximum remaining call time in milliseconds
 */
#define AOC_MAX_REMAIN_CALL_TIME  30000L
#define AOC_THOUSAND_MILLISECONDS 1000L

/*
 * indicates the processing mode for calculating remaining call time
 */
#define AOC_AOC_TIMER_ELAPSED    0
#define AOC_CALL_TIMER_ELAPSED   1

/*
 * Timer Values
 */
#define ONE_SECOND              1000

/*
 * Structure for requesting PUCT Values
 */
typedef struct 
{
  UBYTE currency [4];
  UBYTE value [20];
} T_puct;

typedef struct 
{
  UBYTE currency [4];
  ULONG eppu;
  ULONG exp;
  ULONG sexp;
} T_puct_raw;

/*
 * e_bitmap parameter
 */
#define E1_AVAILABLE              1
#define E2_AVAILABLE              2
#define E3_AVAILABLE              4
#define E4_AVAILABLE              8
#define E5_AVAILABLE             16
#define E6_AVAILABLE             32
#define E7_AVAILABLE             64

typedef struct
{
  UBYTE          e_bitmap;         /* validity of e-parameter */
  USHORT         e1;               /* e1 parameter            */
  USHORT         e2;               /* e2 parameter            */
  USHORT         e3;               /* e2 parameter            */
  USHORT         e4;               /* e2 parameter            */
  USHORT         e5;               /* e2 parameter            */
  USHORT         e6;               /* e2 parameter            */
  USHORT         e7;               /* e2 parameter            */
  ULONG          next_unit;        /* ccm increment next unit */
  ULONG          first_unit;       /* ccm increment first unit*/
  T_TIME         next_interval;    /* time next interval      */
  T_TIME         first_interval;   /* time first interval     */
  T_TIME         remaining_time;   /* remaining time for timer*/
  UBYTE          aoc_timer_running;/* timer is running ?      */
  UBYTE          new_data_avail;   /* E-Parameter have changed*/
  T_TIME         time_ut_charge;   /* time in sec until next  */
                                   /* charging occur          */
  UBYTE          aoci_active;      /* indicate charge only    */
} T_CC_AOC_TBL;

EXTERN UBYTE        aoc_init                (UBYTE phase, UBYTE *sim_service_table);
EXTERN void         aoc_reset               (void);
EXTERN void         aoc_sms                 (void);
EXTERN UBYTE        aoc_info                (SHORT Cid, UBYTE cause);
EXTERN void         aoc_get_values          (UBYTE value_type, void * value);
EXTERN void         aoc_set_values          (T_ACI_CMD_SRC srcId,
                                             UBYTE         value_type, 
                                             void *        value, 
                                             UBYTE *       password);
EXTERN UBYTE        aoc_check_moc           (void);
EXTERN void         aoc_parameter           (SHORT Cid, 
                                             T_FWD_CHG_ADVICE_INV * aoc_para);
EXTERN void         aoc_send_ccm            (void);
EXTERN UBYTE        aoc_ssc                 (UBYTE nr, UBYTE * serv_table);
EXTERN void         aoc_read_acm            (void);
EXTERN void         aoc_read_acm_cb         (SHORT table_id);
EXTERN void         aoc_read_acmmax         (void);
EXTERN void         aoc_read_acmmax_cb      (SHORT table_id);
EXTERN void         aoc_read_puct           (void);
EXTERN void         aoc_read_puct_cb        (SHORT table_id);
EXTERN void         aoc_init_calltable      (void);
EXTERN UBYTE        aoc_timeout             (USHORT handle);
EXTERN void         aoc_timeout_call_timer  (void);
EXTERN void         aoc_timeout_aoc_timer   (SHORT Cid);
EXTERN void         aoc_start_aoc_timer     (SHORT Cid);
EXTERN UBYTE        aoc_non_zero_cai        (SHORT Cid);
EXTERN UBYTE        aoc_check_acm           (void);
EXTERN void         aoc_calculate_charging_parameter (SHORT Cid);
EXTERN void         aoc_increment_initial_charge (SHORT Cid);
EXTERN void         aoc_increment_charge    (ULONG increment, UBYTE ever);
EXTERN void         aoc_increment_cb        (SHORT table_id);
EXTERN void         aoc_calculate_puct      (ULONG value, T_puct * result);
EXTERN void         aoc_update_acm          (UBYTE operation, ULONG value);
EXTERN void         aoc_update_acmmax       (UBYTE operation, ULONG value);
EXTERN void         aoc_update_puct         (UBYTE operation, T_puct * value);
EXTERN void         aoc_update_acm_cb       (SHORT table_id);
EXTERN void         aoc_update_acmmax_cb    (SHORT table_id);
EXTERN void         aoc_update_puct_cb      (SHORT table_id);
EXTERN UBYTE        aoc_set_puct_values     (T_puct * puct);
EXTERN USHORT       aoc_getEVal             ( void * eBuf );

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -