亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? cas_sys.h

?? Sun公司Dream項目
?? H
字號:
/*
 * The contents of this file are subject to the terms
 * of the Common Development and Distribution License
 * (the "License").  You may not use this file except
 * in compliance with the License.
 *
 * You can obtain a copy of the license at
 * http://www.opensource.org/licenses/cddl1.php
 * See the License for the specific language governing
 * permissions and limitations under the License.
 *
 * When distributing Covered Code, include this CDDL
 * HEADER in each file and include the License file at
 * http://www.opensource.org/licenses/cddl1.php.  If 
 * applicable, add the following below this CDDL HEADER, 
 * with the fields enclosed by brackets "[]" replaced 
 * with your own identifying information: 
 * Portions Copyright [yyyy]
 * [name of copyright owner]
 */ 

/*
 * $(@)cas_sys.h $Revision: 1.1.1.1 $ $Date: 2006/04/17 22:47:29 $
 * 
 * Copyright 2006 Sun Microsystems, Inc. All Rights Reserved.
 */
/*----------------------------------------------------------------
 * Sun project header file (ca_sys.h)
 *
 * Libs, macros, data types common to all modules
 *
 * NOTE: this file depends on libraries MMP and Klingon
 * Created:   July 29, 2005
 * Author:    Yongfang Liang
 *---------------------------------------------------------------*/
 
#ifndef _CA_INJECTION_H
#define _CA_INJECTION_H
/* Common Includes */
#include <sys/types.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>

//#include "klingon/ts_psi.h"

/* cobjs Includes */
#include "cobjs/ArrayOf.h"
#include "cobjs/HashTable.h"
#include "cobjs/Macros.h"
#include "cobjs/RetCode.h"
#include "cobjs/Types.h"
/*#include "cobjs/libcobjsVersion.h"*/

/* mmp Includes */
#include "mmp/Mmp.h"
#include "mmp/Context.h"
#include "mmp/Mpeg2.h"
#include "mmp/Mpeg2Pat.h"
#include "mmp/Mpeg2Pes.h"
#include "mmp/Mpeg2Pmt.h"
#include "mmp/Mpeg2Ps.h"
#include "mmp/Mpeg2Psi.h"
#include "mmp/Mpeg2Ts.h"
#include "mmp/Pipe.h"
/*#include "mmp/libmmpVersion.h"*/
//#include "vsm/Vsm.h"


#include "cas/cas_lib.h"
typedef unsigned char byte_t;
typedef byte_t * byte_p;

#define TEST_MEMORY(p) if(p==NULL){ fprintf(stderr, "Memory check failed in %s line %d\n", __FILE__, __LINE__);exit(-1);}
#define TP_LENGTH 188

#define getbit(b,n,mask) ((b>>n)&mask)
#define putbit(b,n,val) (b|=((val)<<n))

/* Funtions declaration */
#ifdef __cplusplus
extern "C" {
#endif

/* Data types (enums, structs, typedefs) */


struct _Mpeg2Ts {
    Mpeg2TsCallBack     callBack;
    void               *token;
    MmpParserObject    *psip;		   /* PSI parser */
    MmpParserObject     po;
    Context		context;
    MmpContextObject   *cop;
    Boolean		isDirty;
    Boolean		doFlush;
};

typedef struct 
{
	byte_t data[MPEG2_TS_PKT_SIZE];
} ca_ts_pck_t, *ca_ts_pck_p;

typedef struct parser_s
{
    Mmp                 mmp;
    Mpeg2Ts             mpeg2Ts;
    Mpeg2Psi            mpeg2Psi;
    Mpeg2Pat            mpeg2Pat;
    Mpeg2Pmt            mpeg2Pmt;
} parser_t;

/* encrypt_key_s: the payload of ECM message section  is contained in buf */
typedef struct encrypt_key_s
{
	 int                pn;           /* program number we are encrypting */
	 encrypt_type       e_type;       /* encrypt type for this key */
	 short              ecm_pid;      /* pid of the ecm containing the key */
	 byte_p             key_buf;          /* key payload */
	 int                key_length;       /* payload length */
	 struct encrypt_key_s *next;      /* next key */
} encrypt_key_t,  *encrypt_key_p;
 
/* structure of the ca descriptor,one ca descriptor corresponds to one key only */
typedef struct ts_ca_descriptor_s 
{
  int                        stream_type; /* the ca is used for this stream type,  */
  encrypt_type               en_type;
  void                       *desc;       /*  the PSI descriptor */
  encrypt_key_p              p_key;       /* encryption key this CA from */
  struct ts_ca_descriptor_s  *next;
} ts_ca_descriptor_t;
typedef struct ts_ca_descriptor_s *ts_ca_descriptor_p;

/* pid structure, contains info for this pid */
typedef struct
{
    Boolean       b_pmt_pid; /* is it a pck pid? */
    Boolean       b_seen;    /* being used ? */
    int           pn;        /* program number */
    encrypt_key_p p_key;     /* encryption key for this pid. chosen from the keys in sys */
    byte_t  continuity_counter; /* TS packet counter */
} ts_pid_t;

/* sys info structure */
typedef struct ca_sys_s
{
     int                 b_outputECMafterPMT;
	 ca_ts_pck_t         pkt_buf;        /* current TS pakcet being process */
	 Pipe                outpipe;        /* the pipe where the output TS will be directed to */
	 PipePosition        putPosition;    /* output pipe position of outpile */
	 ts_pid_t            pid[8192];      /* pid arrays  */
	 encrypt_key_p       p_keys;         /* a list of keys of the CAS */
	 int                 ecm_frequency;  /* frequence of sending ECMs, seconds */
	 MmpContextObject    *mpeg2TScop;
	 parser_p            p_parser;       /* TS demuxer */
	 casOutputCallBack   outputCallback; /* output callback funtion pointer */
	 casEMSCallBack      emsCallback;    /* Entitle message sextion callback */
	 casScrambleCallBack scrambleCallback; /* srambling callback function */
	 casTSCallBack       tsCallback;      /* insertion callback function */
	 void                *output_token;
	 void                *ems_token;
	 void                *scramble_token;
	 void                *ts_token;
	 int                 i_ca_system_id;
	 int                 i_pmt_version_number;
} ca_sys_t;





parser_p   setupNewParser(ca_sys_p p_sys);
void       freeParser(parser_p parser);
ts_ca_descriptor_p ts_ca_descriptor_create(encrypt_type en_type, int ca_system_id,
	                    int ca_pid, byte_p p_private_data, int i_private_length);
ts_ca_descriptor_p ts_ca_descriptor_append(ts_ca_descriptor_p list, 
                        ts_ca_descriptor_p );
void               ts_ca_descriptor_delete(ts_ca_descriptor_p list);

void injectCA2PMT(ca_sys_p p_sys, Mpeg2PmtInfo *info, short program_map_pid, ts_ca_descriptor_p ca_list);
void ouputECMs(ca_sys_p p_sys, int program_number);
encrypt_type getStreamType(int i_stream_type );
void scrambleTsPacket(ca_sys_p p_sys, unsigned   pid, byte_p pkt, byte_p payload, int length, long long curTSpos);

#ifdef __cplusplus
}
#endif

#define TRACE

#ifdef TRACE
/*void msg_TRACE(const char *psz_format, ...);*/
#define msg_TRACE printf
#else
#define msg_TRACE(a)
#define msg_TRACE(a,b)
#define msg_TRACE(a,b,c)
#define msg_TRACE(a,b,c,d,e)
#define msg_TRACE(a,b,c,d,e,f)
#define msg_TRACE(a,b,c,d,e,f,g)
#define msg_TRACE(a,b,c,d,e,f,g,h)
#endif

#endif


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产露脸91国语对白| 亚洲综合免费观看高清完整版在线 | 日本国产一区二区| 欧美性受xxxx| 欧美一级久久久久久久大片| 久久日韩粉嫩一区二区三区| 亚洲人精品午夜| 午夜不卡av免费| 国产精品一二三| 在线观看www91| 久久久久久久久99精品| 亚洲欧美一区二区三区极速播放 | 欧美日韩一区不卡| 亚洲精品一区二区三区在线观看| 国产欧美日韩另类视频免费观看| 亚洲综合久久久| 极品美女销魂一区二区三区 | 一区二区三区高清| 精品亚洲成a人| 不卡一卡二卡三乱码免费网站| 欧美色中文字幕| 国产免费观看久久| 日日摸夜夜添夜夜添国产精品| 国产在线播放一区| 欧美自拍偷拍一区| 国产精品网站在线| 免费欧美在线视频| 91免费观看国产| www久久精品| 爽好多水快深点欧美视频| 国产成人精品亚洲777人妖| 欧美三级中文字幕| 中文字幕一区二区在线播放| 老司机精品视频线观看86| 在线欧美日韩精品| 日本一二三不卡| 免费成人美女在线观看.| aaa亚洲精品| 久久久久久日产精品| 亚州成人在线电影| 成人动漫在线一区| 欧美精品一区二区三区高清aⅴ| 亚洲综合免费观看高清在线观看| 成人av网站免费观看| 精品久久久久久综合日本欧美| 亚洲午夜久久久久久久久电影网 | 亚洲欧美日韩国产另类专区| 国产一区二区三区电影在线观看 | 日本在线播放一区二区三区| 91在线小视频| 亚洲视频一区在线| 精品午夜久久福利影院| 欧美日韩第一区日日骚| 一区二区三区在线观看动漫| 懂色av一区二区三区免费看| 精品99久久久久久| 捆绑紧缚一区二区三区视频| 欧美日韩成人综合天天影院| 一区二区高清免费观看影视大全 | 亚洲国产精品一区二区久久恐怖片 | 欧美一区二视频| 亚洲高清不卡在线| 日本精品一级二级| 亚洲人成在线播放网站岛国| 不卡的av中国片| 中文字幕欧美三区| 成人午夜精品一区二区三区| 欧美精品一区二| 久久99久久99小草精品免视看| 日韩一区二区在线看| 美腿丝袜在线亚洲一区| 欧美一级在线观看| 老司机精品视频在线| 精品久久一区二区| 激情五月播播久久久精品| 2021国产精品久久精品| 国产精品一区2区| 日本一区二区成人在线| 成人ar影院免费观看视频| 国产精品美女久久久久久久久久久| 丁香激情综合国产| 中文字幕一区二区三区在线不卡 | 亚洲综合清纯丝袜自拍| 欧美日韩在线播放一区| 日韩在线观看一区二区| 日韩三级.com| 国产在线视频一区二区| 国产欧美日韩三区| 9i看片成人免费高清| 亚洲六月丁香色婷婷综合久久| 日本久久电影网| 日韩精品福利网| 日韩免费一区二区| 国产精品综合久久| 综合激情成人伊人| 欧美日韩成人在线一区| 精品在线一区二区三区| 亚洲国产成人午夜在线一区| 91丨porny丨户外露出| 视频一区视频二区中文| 久久久久久99久久久精品网站| 波多野结衣亚洲| 亚洲国产精品久久久男人的天堂| 在线播放国产精品二区一二区四区 | 色狠狠综合天天综合综合| 亚洲小说欧美激情另类| 91麻豆精品国产91久久久更新时间 | 91在线视频免费91| 日韩成人一级片| 久久久久久久久99精品| 色哟哟在线观看一区二区三区| 亚洲成人精品在线观看| 久久久久久久网| 欧美亚洲禁片免费| 精品亚洲aⅴ乱码一区二区三区| 国产精品天干天干在线综合| 欧美日韩免费电影| 国产在线不卡一卡二卡三卡四卡| 亚洲欧美视频在线观看视频| 91麻豆精品国产自产在线观看一区| 国产精品自在在线| 亚洲高清免费在线| 国产欧美一区二区三区网站 | 日韩电影网1区2区| 国产精品狼人久久影院观看方式| 欧美日韩一二区| 国产九色sp调教91| 午夜电影久久久| 国产精品美女久久久久av爽李琼| 在线电影欧美成精品| av欧美精品.com| 老司机精品视频在线| 一区二区在线观看免费视频播放| 欧美成人一区二区| 色系网站成人免费| 国产一区欧美一区| 亚洲成人av一区二区| 国产精品欧美极品| 日韩精品在线网站| 欧美艳星brazzers| 成人av电影免费观看| 精品在线免费视频| 日韩精品91亚洲二区在线观看 | 欧美最猛性xxxxx直播| 国产精品乡下勾搭老头1| 亚洲va欧美va国产va天堂影院| 国产拍欧美日韩视频二区| 欧美剧在线免费观看网站| av成人老司机| 国产精品亚洲视频| 精品在线免费视频| 免费人成网站在线观看欧美高清| 樱花草国产18久久久久| 国产精品久久一级| 久久久久久免费网| 欧美精品一区视频| 日韩区在线观看| 91精品蜜臀在线一区尤物| 欧美在线观看禁18| 91视频你懂的| 成人午夜免费视频| 成人性生交大片免费| 国产一区二区三区电影在线观看 | 欧美大肚乱孕交hd孕妇| 欧美日韩精品欧美日韩精品一综合| 色综合久久久久网| 日韩一区二区在线免费观看| 色综合久久中文综合久久牛| 99视频热这里只有精品免费| 国产精品一区二区三区四区 | 亚洲国产精品激情在线观看| 精品国产制服丝袜高跟| 日韩免费电影一区| 91麻豆精品国产| 欧美一级夜夜爽| 欧美一级视频精品观看| 欧美男人的天堂一二区| 欧美日本一道本| 欧美一区二区黄| 日韩欧美激情在线| 欧美一级xxx| 日韩一区二区三区电影| 欧美一级理论片| 欧美成人一区二区| 精品粉嫩超白一线天av| 精品成人a区在线观看| 精品国产一区二区在线观看| 久久综合给合久久狠狠狠97色69| 欧美videofree性高清杂交| 日韩一级黄色大片| 精品国精品自拍自在线| 欧美精品一区男女天堂| 国产人久久人人人人爽| 亚洲国产精品成人久久综合一区| 国产精品欧美综合在线| 亚洲欧美视频在线观看| 亚洲午夜精品17c| 美国十次综合导航| 韩国成人福利片在线播放| 福利一区在线观看|